Author Archive

De-cluttering the SSIS Toolbox

Monday, November 15th, 2010

If you are developing solutions in SSIS and are having to deal with limited screen real estate, here’s a really quick tip to de-clutter that SSIS toolbox and hide some of the Control/Data flow components that you don’t use.

With BIDS (that would be Business Intelligence Development Studio…) open and an SSIS project loaded, bring up the toolbox and right-click it. You will see the following menu:

image

Select the Choose Items… option. Now, click on the SSIS Control Flow Items tab and deselect all the components that you are not using.

image

Repeat the above step for the SSIS Data Flow Items and Maintenance Tasks tabs.

Click OK and you are all done. The components listed should now reflect just those that you will actually use and should mean less vertical scrolling.

Isn't that better...

 

But wait, there’s another option…

If you would prefer to have all your components immediately available, but still want to organise the toolbox, then follow these easy steps:

 

image

Right-click the toolbox and choose Add Tab. Give the Tab a nice descriptive name.

image

Now click on and drag into that group/tab all the components that you are not using regularly, or indeed the ones you are (if that’s what you would prefer).

All that’s left is to apply a Sort Items Alphabetically and collapse the groups you are not concerned with and you have a nice tidy toolbox.

 

Happy days!

 

Project Phoenix. No, it’s not about Gandalf…

Tuesday, October 26th, 2010

Back in July this year Arnie Rowland (Blog| @ArnieRowland) had a bit of a brainwave. Essentially Microsoft had given him a few MSDN Ultimate Subscriptions to give away, and instead of just handing them out to a few folks willy-nilly, he decided that the best way forward was to give them out to unemployed or underemployed developers who submitted proposals for projects that would benefit non-profit organisations. This way the developer gets to improve his/her skills and the non-profit gains bespoke software solutions at no cost. Win.Win.

After a couple of blog posts (here and here), Arnie got a lot of support from fellow MVPs as well as assistance from Sponsors. This meant that the list of software being given to the chosen developers was mighty impressive. As of this writing the software package that the developers will receive (on being selected) is as follows:

All that software and subscriptions have a combined value of over USD$15,000. Whoa.

Project Criteria:

  • Client is a USA IRS 503(c)3 non-profit, school, or church, OR a Canadian CRA registered charity,
  • Solves a problem or satisfies a need for the client,
  • Client desires the project and is supportive,
  • Uses any combination of .NET 4.0, Windows Server 2008, SQL Server 2008, or Windows Phone 7,
  • May be a new software solution, or an upgrade to an existing software solution,
  • Additional consideration given projects that will be posted on Codeplex with a GPL license.

 

Not in the USA or Canada?

Don’t fret, the project is expanding. Thanks to Rod Colledge (Blog | @Rod_Colledge), Greg Low (Blog | @greglow) and Darren Gosbell (Blog) if you are in Australia or New Zealand you can also qualify for Project Phoenix. Rod has put together a blog post on the software packages available to developers/non-profits as well as the criteria being used to identify selected recipients.

So, if you are out of work, looking to improve your skills, give back to the community and reside in the US/Canada or Australia/New Zealand look no further than Project Phoenix. There will be a give-away every week for the rest of the year (at the very least) and who knows, this may just become a regular occurrence…

 

More links to posts about Project Phoenix

 

What’s so great about where YOU work?

Monday, June 7th, 2010
GreatPlaceToWork_Scenic

office heaven

Got a great place to work? A beautiful setting in the countryside, an amazing office, a tricked out cubicle, awesome colleagues? What makes where you work so special?

I work projects, so have moved around a bit over the last few years when it comes to offices. I also make use of a small nook (think The Cupboard Under the Stairs, No 4 Privet Drive, Little Whinging) when I’m working from home. Some of the places I have worked have been somewhat dark and dreary, others have been all shiny a new, but the best experiences are always those with the best colleagues. I have found that the environment can lack inspiration and the work is a grind, but throw in a few awesome people to work with and it changes everything.

People

I have been lucky in that in pretty much every project there has been at least one person that makes the work fun/exciting/challenging (in a good way)/educational. Here are a few of those people:

Paul

Why? He makes me laugh. And he manages to do it with very little effort too, and it’s not that I’m easy to amuse either (another story altogether). I met Paul some years back when I worked for a small company during my university vacations and by chance we are now working closely once again. He was hilarious then and hasn’t changed one iota. His mannerisms, his outlook on life, his witty banter and way with words all make the current project a fun place to be.

GreatPlaceToWork_EnergyDrink

Kappow! Who needs Red Bull when you've got 'Whoop Ass'

Johnny & Jonathan

Why? Energy. Pure and simple. These two guys (both managers of mine) just had so much energy it was infectious. And their energy was natural too, not the kind that you can buy for a few bucks and tends to rot your teeth. Always positive, always encouraging, these guys got the most out of me and I thoroughly enjoyed working with them – and would do it again in a heartbeat.

Nxumsa

Why? She was learning about reporting services and gave me the opportunity to teach. One of greatest gifts is the ability to share our knowledge and to uplift the community where we can. Although, according to Buck Woody (Blog | @buckwoody), teaching/mentoring is also the best form of education (or ‘retention’ if you’re being pedantic). So, being able to impart some knowledge (ok, so some may have been a little dubious…) to a co-worker was a great experience for me too, and given the opportunity to do it again, I wouldn’t hesitate.

Godfrey/Johan/Pierre

Why? I learnt from them. Whilst most of what I learnt was technical – introductions to DTS, SSIS, scripting amongst other things, a lot of what I learnt was about tenacity, camaraderie, diplomacy & negotiation. If you thought that being a great developer/DBA involved just the technical stuff then you’d be wrong. There is a whole list of soft skills to pick up on and this is best done through working with the right people.

Anthony

Why? For all the above reasons. Funny? He’s hilarious. Intelligent? You betcha – but he didn’t know everything, so it was a great moment when I got to teach. Passion & Energy? Like no other. And I don’t think there was a time he didn’t have a smile on his face (that I know of anyway). He is a great mate of mine and one that I miss having around since having moved to the UK.

Environment

Working in a beautiful/funky environment is always a pleasure.  In the places that I have worked there are a few that stand out as Great Places To Work:

  • A refitted barn on a river in the UK
  • At home in the garden
  • A converted warehouse loft space – probably one of my favourite places as there was so much space and I had a window out onto a garden that was home to many birds.

Here are a few pictures of those places:

GreatPlaceToWork_Lodsworth

at work in the countryside

GreatPlaceToWork_Home

my friday office

GreatPlaceToWork_Loft

a lofty desk perspective

Other factors

There are many other things that could make where you work a better place. For me this includes:

  • Not just ‘good’, but GREAT Coffee!
  • Awesome colleagues
  • A personal space (making your desk space your own)
  • A great chair
  • A clear desk
  • Decent hardware (PC/Laptop)
  • Being part of a team that shares a common goal
  • A great canteen or coffee shop
  • Access to online resources (in a corporate environment this can be difficult as web access is severely restricted)
  • Challenging projects – forcing the need to keep learning new things
  • …many more

So now you know a little more about where I have worked and what makes keeps my work satisfaction at a good level, I would like to know more about where you work and what makes it a great place. So I’m tagging the following to find out:

  • Rob Farley (Blog | @rob_farley) – because [apparently] Adelaide is awesome and he doesn’t have a dedicated office space (his work is onsite mostly).
  • Steve Jones (Blog Blog | @way0utwest) – because he lives in and works from a ranch in the middle of the US
  • Jorge Segarra (Blog | @SQLChicken) – because he has a rubber chicken pinned to his office wall. Oh, and he lives & works in Tampa, Florida.
  • Jenifer Stirrup (Blog | @jenstirrup) – because she is currently working for a University that is over 800 years old.

Telecommuting. Sometimes.

Tuesday, May 25th, 2010

 

There have been a few blog posts lately about telecommuting, with some advocating it, others not and some even going to lengths to tell why you’re not.

I’m a big fan of telecommuting. Sometimes.

Brent Ozar (Blog | @Brento) wrote a great post on Why You’re Not Telecommuting (as well as several others which are all listed at the bottom of that post). In it, Brent details a number of reasons why you haven’t landed that telecommuting job yet. But he also goes into three things that you can do to get one. Brian Kelly (Blog | @kbriankelly) tells us why he doesn’t look for a telecommuting role. It’s a great read and all his points are all relevant, some maybe more specific to his particular situation, but they are all good points.

Is it too much to ask to have a role that has both a telecommuting and an on-site element? I don’t think so. It’s what I strive for. While I don’t know what the rest of the population has for a commute, mine is somewhere between 50 minutes up to 2.5 hours. One way. That really burns you out. So I try to avoid it if I can. Telecommuting does away with the ‘commute’ altogether. Being able to wake up, shower, breakfast & coffee, more coffee and ‘commute’ (aka walk) to a dedicated office space, all in under 30 minutes is frikkin’ awesome. If your on-site option does happen to be a 5 minute walk from your residence then you have what I want.

Since I can never seem to land a role that is just five minutes from my humble abode means that I have to come up with other options. So, after I have been in a role for a while (a couple of months) and an opportunity presents itself, I request a day to work from home. On my latest project we were asked to work over a bank holiday and were given the option of working remotely. I call this an opportunity because that exactly what it is. It is a chance to prove what you can accomplish when you are not on-site. If you can prove to your superiors that you can deliver results when you are at home, then you stand a much better chance of the ‘opportunity’ presenting itself again. And again. And if you work hard and deliver the results, then this can lead to a standing arrangement to work remotely. Of course this all depends on what management style is enforced where you work.

There’s a key sentence on Wikipedia about telecommuting:

“A successful telecommuting program requires a management style which is based on results and not on close scrutiny of individual employees”

If your boss is not results oriented, you may need to understand Why Your Boss Doesn’t Want you to Telework first, then go find out how to Convince Your Boss to Let You Telework.

So what’s my ideal situation? Well, having a home/office like Rob Farley did (admittedly only for a client visit) would be nice, but barring that my ideal situation would be one where I can work on-site for 3-4 days a week and at home 1-2 days. This, I feel, gives the best of both worlds. You get the interaction of colleagues and ‘office life’ and you also get the solitude and productivity of working from home. Yes, productivity. I seem to be much more productive when I work from home.

Everyone loves a list. So here’s three about working from home:

Advantages

  • Productivity - I get more done at home than I do at work, primarily because (for me) there are less distractions at home than there are at work. On-site there always seems to be someone at my desk asking me a question, which switches my focus for a period of time. At home I have a dedicated office hideaway that keeps me isolated from distractions (my son).
  • No commute – how long does it talk you to walk from your kitchen to your home office? No time at all. This also means that I get to have breakfast, lunch & dinner with my family without having an impact on my work. Since my boy is an early riser, I also get to spend a couple of hours with him before my day even starts.
  • More flexible ‘Flexi-time’ - working from home may allow you to be even more flexible with you working hours, although this needs to be negotiated with your boss before hand. You may for example need a couple of hours to look after your kids which you can make up for later in the evening once they have gone to bed.
  • Online resources at your disposal – Having access to the all the online resources (blogs/twitter/forums/etc) you need can be a great help, especially when you need help ASAP. Some companies are so locked down that access to the web is reserved for a handful of cherry picked sites and nothing else.
  • More time with your family - outside of working hours, of course.
  • More sleep - intrinsically linked to ‘No Commute’. Go figure.

Disadvantages

  • Limited interaction with teammates (can also be an advantage) – but if you have organised your remote day(s) properly, then you’ll have a list of things that you need to do, not what someone else needs to tell you how to do. If you need more interaction, and your organisation allows it, then use of an instant messaging system may be some help. As are telephones.
  • Dependent on ISP - if your internet connection goes down, and you are working on your own pc through a portal, then you are pretty much screwed. Being on-site means that you will still have access to the resources (files/folders/systems/databases/etc) you need should you not have an internet connection. If you have a work laptop then this might be a non-issue as you may well have a local copy of what you need.
  • Less ‘face time’ - if your organisation’s ladder-to-success requires you have a lot of face time, then this is probably not the best option for you.

 

Set the Ground Rules 

When you work from home it is important to set a few ground rules, with yourself and your family, so that you have boundaries to work between. Without them, it’s too easy to keep doing the things you want to do instead of the things you need to do.

  • Ensure you have a clearly defined list of things to do. Each item should have a duration and a deadline attached to it. You should really have this already, no matter where you work.
  • Let your boss know what you intend to accomplish while you are at home
    – this commits you to the tasks. 
  • Define your working hours & stick to them as a minimum – if you manage to finish your tasks for the day earlier than you expected, get cracking on the ones for the next day. Being more productive than anticipated means you may get more time to work from home in future. Remember, your day is not done until you cross off that last task for the day, even if this means working longer than expected.
  • Set clear boundaries with your family – you need to let your family know that when you work from home it’s a luxury. One that can be taken away if it’s not working out. And if they keep interrupting you during your work hours, impacting your productivity, this luxury can be taken away. The incentive is to have these work-from-home days, so that you can be with them for more time than would otherwise be possible.
  • Get a time tracker to keep a note of what you are doing and how long it’s taken you. Actually something like this is handy where ever you are based.
  • Have a break after each task, or set of tasks.
  • Ensure you are contactable – if your boss/colleagues can’t get hold of you during the day this sends the wrong signal and you may have your ‘privileges’ revoked.
  • Send updates throughout the day, letting your boss know that you are on top of things.

 

Further reading on Telecommuting/Working-from-home/Telework/Working-Remotely/#Whadeveryawannacallit

 

Do you have any thoughts on telecommuting? Let’s hear from you.

SQLServerPedia Syndication!

Thursday, May 6th, 2010

Today I made a commitment, a commitment to the community. And it starts with SQLServerPedia Syndication. That commitment means that I’ll be writing more, interacting more, sharing more, and if at all possible, entertaining more. (OK, so I’m not sure about the last one, but I sure am gonna try).

I have to say, it’s a little daunting being listed amongst MVP’s, professionals with decades of experience and other big personalities in the SQL Server Community. Thankfully, I thrive in situations like these. Being amongst people who are better than you enables you to up your game – or at least that’s been the story for me. Upping my game means that you, dear reader, get more quality content on the topics I care about. For now, that includes SQL Server’s Reporting Services and Integration Services. But you knew that already.

I would ask one favour (yes, that’s the way we spell it over here…) of you, and that is feedback. Of any sort. Whilst I get it right most of the time (I hope), there may be occasions that I’m talking absolute dribble. SPEAK UP! I’m sharing from my own experience and opinion, if it’s wrong, or at least if you believe it’s ‘wrong’, I want to know about it and what you believe the right answer to be.

A big thank you to Brent (Blog | @BrentO) and everyone else at SQLServerPedia for the opportunity to give something back. I’m thoroughly looking forward to the journey ahead and seeing where it takes me.

Rediscovering RANK() – Selecting the TOP N Rows for each Group or Category

Tuesday, April 6th, 2010

There may be times when you need to get the top 10 (or n) rows from each group of your dataset to satisfy a business requirement. There are a few ways this can be done, but none so elegant as when you use RANK().

RANK() effectively applies a ranking to each rows in your dataset, based on a specified grouping and order. This can then be used to select the Top n rows by using an appropriate where clause. Here’s an example:

   1: USE Adventureworks

   2: go

   3:

   4: WITH OrdersCTE

   5: AS

   6:

   7: (

   8: Select

   9:     salespersonid,

  10:     customerid,

  11:     SUM(subtotal) Total,

  12:     RANK() OVER(PARTITION BY salespersonid ORDER BY SUM(subtotal) desc) Ranking

  13: from Sales.SalesOrderHeader

  14: Where

  15:     salespersonid is not null

  16: Group by

  17:     customerid,

  18:     salespersonid

  19: )

  20:

  21: Select

  22:     salespersonid,

  23:     customerid,

  24:     Total,

  25:     Ranking

  26: From OrdersCTE

  27: Where

  28:     Ranking <= 10

In the above example, I needed to find the top 10 Customers for each Sales Person based on the sum of all order subtotals (using AdventureWorks 2005). Here are the results:

Ranking Results

You can read more about the RANK() function here, and for more ranking functions see DENSE_RANK(), NTILE() & ROWNUMBER().

SQLBits VI – The 6 Sets.

Saturday, March 27th, 2010

It’s almost time for another SQLBits, and in my [humble] opinion, it’s not soon enough. These free conferences are fantastic and if you do have the opportunity to attend I suggest you do so. Whilst I have only a small idea as to what goes into organising a conference, I am pretty sure that it is a major undertaking. One that I am glad Simon Sabin (Blog|Twitter) and the rest of the SQLBits team (and let’s not forget volunteers here) are handling, and handling rather well. If you are keen to help out, in any way, contact Simon and offer your services.

I have only been to one SQLBits Conference (SQLBits V, Newport, Wales) and have talked about it here, here and here. I liked it. I liked it a lot (as if you couldn’t tell, right?). I got to meet loads of sqlservery people and had a number of good conversations, attend several brilliant presentations and a number of good ones (most of which I learned a bunch of new things), won a Redgate SQL Compare license (which I am still waiting for btw, Redgate, nudge nudge) and generally had a great time. While SQLBits V was a 3 day affair, SQLBits VI will be 1 day only and the theme is Performance Tuning and Scalability. Oh, and it’s free.

Conference Details

SQLBits VI will be held in London, and more specifically, at the Church House Conference Center, Westminster, London, UK on 16th April 2010. Starting at around 8am (for registration, swag-bag pick up and of course a few obligatory bacon baps) the conference kicks off with sessions across several tracks:

  • Database Administration
  • Development
  • Business Intelligence

With the focus being on performance tuning and scalability for all tracks, this promises to be a great conference for learning some interesting things.

Registration is open (and has been for a little while, if I’m being honest), but you will have to be quick. Becuase it’s only a 1 day conference, but mostly because it’s such a great conference and it’s FREE, places tend to be snapped up pretty darn quick. Also, if you register for SQLBits VI before 30th March 2010 you stand a chance of winning registration to the European PASS Summit (Germany), if you attend SQLBits VI then you stand a chance to win a registration to the PASS Summit (Seattle, USA).

One point on registration. As it is free, people tend to register even if they are not sure if they will actually attend. While this is not a bad thing in itself, if you are one of those people AND it turns out that you cannot attend then please cancel your registration. This frees up a place for someone else that can make it (but was too late [initially] for registration). There’s a lot that goes into planning a conference and most of this is done around the number of attendees. If a number of those registrants don’t pitch up, then there is a not only a whole lot of wasted money but a whole lot of wasted opportunity. Don’t be selfish, think of the community and act accordingly. Remember, it’s free!

Remember the after party

The sessions are bound to be fantastic, and you are likely to learn a great deal. But go home early at your peril. The prize giving, party and social after all the day’s events is not something you will want to miss. Why? Well, this is a prime opportunity to really get to know more SQL Server people. People that may well become your friends down the line, or at the very least be a contact point should you need assistance on a specific topic (the SQL Server Community is pretty awesome that way). It is also the best time to find those elusive speakers and ask them the questions that you have prepared. It’s a prime time to do this as the speakers are not stressed out about their presentations and are in a more relaxed and approachable state. They are much more likely to entertain your <ahem>query </ahem>, especially if you hand them a beer before you do so.

So, stay out a little longer than 6pm and make the most of a wonderful opportunity.

And finally…

I’m looking forward to catching up with some old acquaintances and learning a lot of new tricks on how to tune SSIS Packages and Scale Reporting Services Solutions. I’ll also be taking some notes on presentation styles and on what makes a speaker/session a great speaker/session, as I’m thinking getting on to the presentation bandwagon….in the hopefully not-too-distant future.

 

See you at SQLBits VI!

CV Tips for landing an IT Interview

Wednesday, March 17th, 2010

The recruitment industry is a cut-throat and ruthless arena. Or so I’ve been told. It’s fast paced, with no time to spare on ifs, buts and maybes. Recruiters have a race against time to find the right candidate and get their details over to their prospective client. This race against time is not necessarily to fulfil the start date of the position. It is more about finding candidates before any other recruiter does – and those ‘other recruiters’ may well be in the same company and indeed, on the same team. It’s a competitive environment. Understanding this fact helps us to understand which tools work and why others don’t in the struggle to find that next opportunity. Let’s face it, they may be 1000 candidates that could do the job (you included), but are you part of the 10-15 that are returned in the recruiter’s search? Getting your CV into that shortlist is what counts and hopefully I’ll be able to help you get there.

Recruiters much prefer trying to find candidates before they advertise a job on one of the online job boards. This is primarily because having to wade through the hundreds of CVs they get emailed on day one of posting an advertisement is not very efficient. Those CVs are not searchable or in a standard format, they are literally a heap of emails that the recruiter has to go through one-by-one to find the right candidate. Far too time consuming. They would much rather be doing the searching, and hunting for candidates through the online job websites and their own internal systems/databases is their preferred method for doing so.

Note – this post is angled at the UK  market, although some tips may also be useful in other countries.

Spreading yourself far and wide.

Set up a folder in your web browser favourites and give it an applicable name (recruitment, IT Job sites, etc) and then add the following websites:

Now go to each and create a profile and upload your CV. The most important part of creating your profile is completing the skills and experience section as it applies to each site. This is important as it is what the recruiters will use to search for potential candidates. Put down as much information as you can as this will mean that you appear in more search results.

To make sure that you are on the radar, ‘refresh’ your profile at least once a week (simply making your profile private and then public again has this effect). Refreshing your profile has the effect of putting a ‘last activity’ date onto your profile, which recruiters will use to narrow down the search for candidates to just those who have been ‘active’ in the last n days. The best website to use to generate a lot of calls is Jobsite, as this site has the best search facility from a recruitment point of view (apparently).

Don’t bother with emailing the recruiter about a job that you have seen (refer to earlier point about the hundreds they receive). if the job posting does include a telephone number, CALL THEM! I can’t stress this enough. If you send an email, you’ll just be one of hundreds of others doing the same thing. Calling affords you the benefit of having the recruiters ear and instantly being on their radar. Then, when they ask for you CV (and they will) send it to them while you are still on the phone. Check that they have received it and then you can be sure that you have done everything you can for that particular position. Wash, rinse, repeat.

The search is on

Recruitment_CVSearchOrigination

Whenever I get a call from a recruiter about a potential job I try to find out from them where they found my details and what search they did to get them. For many of them this is Jobsite (as mentioned above), but, more calls stem from recruiters searching their own in-house databases for candidates. Knowing this helps to understand what the best options are for placing your CV.

Now, when I get an email from a recruiter asking for an updated CV, I add ALL of their details to my address book and label them as a recruiter and then reply with the following information:

  • Summary of skills and experience (i.e. SQL Server 2005 5yrs)
  • Start Availability – for current available start dates (this may be 3 months off, but still worth stating).
  • Call availability – for when the recruiter should check in with me for an update on my situation.
  • Rate – the day/hour/annual rate that I’ll be looking for. It’s important to have a range here as this will make more jobs available to you. And while some may be at a lower rate there may be other factors that will make this preferable over one paying a bit more. An example of this is finding a job close to home – how much is that worth?
  • Job type – contract/temp/perm. This ensures that recruiters don’t waste their time and yours when marketing for positions.
  • Contact details – your primary email address and phone number. I have set up a gmail account just for recruitment purposes, which I auto-forward to my personal account. This ensure that all my recruitment-related conversations (and contacts) are kept separate from my personal ones and helps to control the spam (well a little anyway). 

You WANT to be on their database. Trust me. As long as you are clear about all the facts then you should find that you are only called about applicable jobs at applicable times for applicable rates. You need to “help them, help you”. You are (mostly) database professionals, you know the value of good clean data and what you can make of it. Conversely, you also know that incomplete data can lead to all sorts of problems when it comes to marketing. I know that you are concerned about spam, I am too (that’s why I have a separate email address), but don’t let this one fact detract from the major benefits of having your details readily available to the recruiter who may have your dream job.

Think of this another way. You are searching for your next vehicle, you know you want a 5-door hatch, between £6000 – £7500. You get hundreds of results. So you start to narrow your search criteria, entering a max distance from where you are, max engine size, etc. This is what happens in a recruitment search. Initially, you are part of the hundreds of candidates that have “SQL Server, Reporting Services, Integration Services” listed as skills, but are you part of the few that also have their availability, rate, contact details, location, etc listed? If the recruiter refines their search by including a rate range and you have not filled this in, then you will be automatically excluded from any of the results. Recruiters need to find the most likely candidate to fill the position, and not appearing in their search means that y
ou are not one of them.

LinkedIn. Use it or lose it

Yes, I’m on LinkedIn and yes most of my ‘connections’ are recruiters. Whilst I have not had many (comparatively) opportunities originating from this site, I have had a few and those tended to result in more CV-forwards and interviews than other channels. There is also an iPhone app, which is great at making it easy to stay up-to-date with what’s going on in your LinkedIn world.

There are many websites offering online CV creation and storage, but LinkedIn has the added bonus of professional networking. Linking you to many other people through your own contacts – have you looked at how many people are contactable through the 2nd/3rd level? Use this single fact to generate leads.

Love it or loathe it, LinkedIn does open the door. Sometimes.

A heads-up to Recruiters (if you are listening)

I doubt that a) any recruiters will be reading this and, b) even if they do, that they’ll take some of this to heart, but it’s worth trying:

When you leave me a voicemail, clearly state your name, company and contact number so that I can call you back. I’ve had several calls that have been so rushed that I couldn’t catch some of the pertinent information and effectively meant that I could not call that person back. Also, leaving a message with “I have a few openings I’d like to discuss with you..” being the extent of the details of your call, means it will be deleted. If you leave message with a short but specific description of a job that you’d like to discuss then I’ll more than likely call you back. My time is precious too and being an information source for you is not how I want to spend 5 – 10 (15?) minutes of my day. The call needs to be win win.

Thanks for listening.

Setting the SQL Command Property using Expressions in SSIS 2005

Friday, March 12th, 2010

 

OLE DB Source Adapter

The OLE DB source connection has several Access Modes:

  • Openrowset
  • Openrowset From Variable
  • SQL Command
  • SQL Command From Variable

For now, I am going to focus on the SQL Command options. Using the SQL Command Access Mode requires you to set the SqlCommand property (typing in your SQL query directly), effectively ‘hard coding’ the sql statement into the package. Using the SQL Command From Variable option allows you to set the SqlCommand property using a variable and subsequently by using an expression.

SSIS2005_DataSource_AccessMode_Properties_OLEDBSource

 

Data Reader Source

The Data Reader Source connection has only one Access Mode, and that is SQL Command. Don’t ask me why. At this level you can only set the SqlCommand property by typing in your query, or indeed, copy & paste.

SSIS2005_DataSource_AccessMode_Properties_DataReaderSource

 

Using an Expression to set the SqlCommand Property

“So then,” you ask, “how might I set the SqlCommand property for each of these Data Sources when it seems that I can’t?”. Here’s how. Let’s first concentrate on the OLE DB Source:

  1. Create a new Variable of type string and set your SQL statement
  2. Open up the OLE DB Source and select the ‘SQL Command from Variable’ option
  3. Now, select the the variable created in step 1 as the variable that contains the SQL statement

SSIS2005_DataAccessMode_OLEDBSource_Editor

At this point your OLE DB source is defined by the query that you have set in the Variable. We now need to create the expression that will define the query at runtime. We do this by navigating to the variable’s properties, setting the EvaluateAsExpression property to True and then configuring the expression in the Expression property.

Moving on to the Data Reader Source. With this adapter we only have the option of setting the SqlCommand directly. Or so I thought until recently. If you switch to the Control Flow design surface and select the Data Flow task that contains the Data Reader Source adapter, you will be able to set the SqlCommand using an expression.

  1. Select the Data Flow task to bring up its properties
  2. Click the ellipsis (…) to bring up the Expression Editor
  3. Select the [DataReader Source].[SqlCommand] Property
  4. Set your expression.

SSIS2005_DataSource_AccessMode_Properties_DataFlowTask_Expressions

SSIS2005_DataSource_AccessMode_Properties_DataFlowTask_ExpressionProperties

Using variables & expressions to set your queries enables you to centralise your queries, use configuration files to set database connections and capture the queries you are running in logging operations.  

SQLBits VI has been announced!

Friday, February 12th, 2010

That’s right folks. Another SQLBits is almost upon us. And this time it’s in London! This SQLbits is to be held at the Church House Conference Center on the 16th April 2010. Details will be updated over at www.sqlbits.com. Simon is on lookout for volunteers, so if you are interested in helping out in anyway you can, contact him or leave a comment here (& i will forward the details to him).

See you there!


View Larger Map