Moving to a New SqlClient

DotNet developers, if you’re using the System.Data.SqlClient, stop. Move over to Microsoft.Data.SqlClient now.

It’s easy to do, well, it’s relatively easy to say that. The actual work isn’t that hard, but it can be a challenge to move assemblies. In any case,  you need to reference the new assembly in your code, and ensure you’ve downloaded the NuGet package.

Vicky Harp wrote a piece introducing this new provider, and you can find plenty of posts around the Internet (and videos) that explain how to change and why.

Essentially, when you have the new assembly, you change this line:

Using System.Data.SqlClient;

to this:

Microsoft.Data.SqlClient;

If you haven’t fully qualified the assembly at the top and did it in code, you can search and replace.

The big reason for the change is to allow the ADO.NET provider to release quicker and keep up with changes in technology. When the SqlClient has shipped with dotNet or dotNet Core, it upgraded rather rarely, and the pace of change was disconnected from features being added to SQL Server. Now Vicky’s team has responsibility here and is upgrading this at a more rapid pace.

Let your friends know, and if you see System.Data.SqlClient in a code review, consider trying to refactor that out.

Posted in Blog | Tagged , , | Leave a comment

A Data Controversy

Quite a bit has changed since this article about airlines and the US government.  Since very few people are flying, or even can fly, perhaps this disagreement is moot, but I bet it comes up again. Now, separate from the idea of the actual disagreement here, there is an interesting discussion about the data involved here. In short, the US government wants airlines to collect data about passengers to help track the COVID-19 virus. Airline executives say they can’t easily get this data, other than on paper, without spending a few months on development.

Certainly having a way to gather additional information in a digital form can require some development work. There are all sorts of software decisions to be made about when, where, and how users might input information. We have mobile devices, kiosks, laptops, and more, all of which might require separate interfaces for software changes. There is also the testing, validation, and verification we want to ensure the software works well and doesn’t introduce instability.

In today’s world, with growing legislation, there is also a question of privacy. These requests may or may not conflict with other laws that airlines are bound by. There is likely to be more conflict here as the world changes and laws are slow to change and converge in some type of consistency. Rapidly changing requirements, as have been pushed during the COVID-19 pandemic, can potentially put us technical people in a difficult position. We have to balance the urgency of meeting requirements with the potential liability of violating privacy. I’d hope we could find some balance there, especially in a crisis.

We do need to be flexible and ready to adapt to changing requirements. If regulations change, our organizations ought to be able to prioritize these changes and rapidly deploy them. In today’s world, where many high performing DevOps companies can get new software out in hours or days, governments may expect large companies to be prepared to follow suit. In that case, especially where new data is needed, having a software development process that includes the database is critical.

Steve Jones

Listen to the podcast at Libsyn, Stitcher or iTunes.

Posted in Editorial | Tagged , , , | Leave a comment

Daily Coping 26-Mar 2020

I’ve started to add a daily coping tip to the SQLServerCentral newsletter, which is helping me deal with the issues in the world. I’m adding my responses for each day here.

Today I published: Get active, even if you’re stuck indoors, move and stretch

That’s an easy one for me. I like exercising, but I like a variety. My challenges during the first two weeks of March:

  • Yoga class: cancelled
  • Weightlifting at the gym: closed
  • Snowboarding: resorts closed

However, I have no great excuse. I let some down feelings get in my way and I struggled to move. I did some yoga on my own, and did some stationary bike riding, but not enough.

The plan for me now:

Move every day

I’ll take a few exceptions if I’m really busy, but not many. I ran every day for four years, so finding 20 minutes a day to take care of myself should be easy.

Yoga

I assume the gym will open again, but who knows when. Even when it does, I can’t always go, and I can’t use that as an excuse not to take care of myself.

My goal is to practice yoga 4 times a week during lunch. Without a class, I’ll be on my own, but there are a few things to make this easier. I can get my wife or kids to participate. They will sometimes, and that’s useful. We can go through some flows together and help each other work.

I like Yoga with Tim. It’s not for everyone, but I’ve done these when I’m on the road at times. I need to get used to doing this more. If you like him, consider supporting him. One of my co-workers, Annabel, likes Adrianne, so check her out as well.

I have a stationary bike, and that’s usually my “I’m too busy, stressed, or unfocused to do anything else” choice. I’ll use this a couple times a week to fill things in. As the weather gets better in Denver, I’m going to try and ride outside with my wife more.

I need to keep weight lifting. I think that is one of the keys to keeping a healthy body as I age. We have some weights in the basement, so I’ll try to get down there twice a week.

My boss swears by floor Pilates, and does it when he travels. I may give some of these a try.

Otherwise, I have a standing desk, and I am trying to remember to move it up and down a few times during the day. I also do some light yoga stretching when I am consuming some content (reading, watching, etc.)

Health matters, and I urge all of you to move more. We sit too much as it is to not ensure this is a part of our lives.

My

Posted in Blog | Tagged , | Leave a comment

The Challenge of Contracting

For most of my career I’ve been a full time employee (W-2 in the US) or worked for myself with my own business. I’ve rarely been a consultant or contract (1099) employee, and what experience I had with those situations didn’t suit me. I don’t like the lack of security and certainly don’t like being responsible for the sales portion of finding work.

Many people like contracting, and in fact, some make a career of it. There are companies that help you find work, and many large companies employ people for years as contract workers. There’s an interesting article on the impact of this at Ars Technica. It looks more at hotels and other service work, but this is common for technology workers as well, especially at many of the large, common names. If you look through the comments, you’ll find a few examples.

I do think this is starting to be something that workers have to contend with, and it’s been obvious how hard this is over the last month. This might be especially true as companies can find ways to better specify work and hire people for their expertise at less than full time hours. This does save them a lot of long term costs and commitment, which is a change from what I expected when graduating from university.

I’ve said this in a few talks, but ultimately I believe that each of us should be treating all jobs as temporary, ensuring that you take care of yourself and plan for your future. While a company might provide benefits and some retirement help, you should ensure you are paying attention and saving where you can. In the US, healthcare is a mess and expensive for contract workers. Outside the US things are better in some places, but you should still ensure you plan to take care of yourself if the company doesn’t.

It has always been hard for workers throughout history. Many companies exist to make profits for their management and owners, often at the expense of workers’ treatment. Despite that, there are some amazing companies out there that do a better job of existing as a partnership with workers than others. My employer, Redgate Software, is one of those, and I’m lucky to work there. We’re hiring, good luck if you apply, and tell them I sent you.

I hope all of you reading this can find a good employer that treats you well and gives you work you enjoy doing each day. If you don’t  have that, invest in yourself, work on your tech and soft skills, apply for jobs, be diligent in your questioning of the hiring team, and cross your fingers. There are great employers out there, and best of luck in finding one for yourself.

Steve Jones

Listen to the podcast at Libsyn, Stitcher or iTunes.

Posted in Editorial | Tagged | Leave a comment