Showing posts with label DataDude. Show all posts
Showing posts with label DataDude. Show all posts

Sunday, July 25, 2010

Using Excel as a Source for your Data Generation Plan in Visual Studio 2010

I like to use DataDude for almost anything related to SQL Server.  I use the data generation feature quite a lot.  Most of the times, I am happy with the string randomly(RegEx) created by it.  However, I encounter a situation in which I needed the random source to be in a group while still preserving the randomness of the wizard.

Of course, I could have created a SQL server temp table and use that as my sequential data bound field. However, I wanted to try to see if I could use a different source.

I’ve created a simple CSV with 3 columns, that I’ll use to populate my SQL server project.

image

Notice the name of the columns, and also the name of the worksheet.  You will need those for later.

Assuming your SQL Server Database has a table named CommtDefn.

image

Import the schema into a SQL server project in Visual Studio 2010. After you have imported your schema in your solution, you would be ready to populate this table with data. 

First step, is to add a new data generation plan, then select the table CommtDefn and, select the first column.

Your Data Generation plan would initially look like this

image

Select the first column and choose the Sequential data bound generator option.

image

Under the properties window, select <Add new connection..>

image

then on the Data source screen, select <other>.  For the data provider, use the ODBC provider, and not the OLE DB Provider as instructed in MSDN.  Now click Continue

image

On the connection properties, select the Use Connection string. NOTE: the trick in here is to specify the type of connection we are going to use

image

So in this box type the following:

Dsn=Excel Files

Now, click the build button. A dialog box will pop up asking you to select the Data Source, click OK to dismiss this dialog box. This action will bring another dialog box where you can specify the actual excel file you want to use.!!

image

Select your Excel worksheet, and then click OK.  The Use Connection string field is populate with the proper connection string:

Dsn=Excel Files;dbq=C:\vsProjects\2010\PowerShell.SQL\PowerShell.SQL\Excel CSV\Committees.xlsx;defaultdir=C:\vsProjects\2010\PowerShell.SQL\PowerShell.SQL\Excel CSV;driverid=1046;maxbuffersize=2048;pagetimeout=5

Click on the Test Connection button, make sure it is successful. Click OK twice to close all dialog boxes.

Go back to your Properties window and write the following query

SELECT * FROM [CommitteesDefinitions$]

In here, don’t forget to enclose the name of the worksheet in parenthesis and also you need to add the “$” at the end of it.

Your screen should now look like this

image

Now if you go back to the data generation screen, you will see that the Generator Output column has been populated with the columns extracted from the Excel worksheet.!!

image

* BTW, there is a MSDN article on how to generate data from an excel spreadsheet, but after following those instructions I could not get that to work with VS2010 data generated plans.

Thursday, February 07, 2008

Data Dude for Studio 2008?

Does DataDude works for Visual Studio 2008?  The answer can be found on this blog post by Gertd:

visual-studio-team-system-2008-database-edition.aspx

Awesome, so it is time to create a new DB project.

SQL Server 2005 project

I get this dialog box:

Connection to Local Express Instance

going back. I have followed the instructions and set my options to use my SQL server instance:

Tools - Options - Database Tools

and my data connections is set to my local instance as well

Tools - Options - Database Tools

since I don't have SQLExpress running, I decided to follow the instructions on it. I click CANCEL on the previous dialog box, and I get this error:

Remote Server Connection

---------------------------
Microsoft Visual Studio
---------------------------
An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

I remember this error from before.  I has something to do with having the SQL Server Browser running for it to find it.

image

I go and turn this service on. I usually have ALL services stopped and I only run the services on demand when I need to use them. Yes, I do have lots of batch files that the only thing they do is to start/stop services... :D

humm. I still getting the error about not being able to connect.

I wonder if this has anything to do with the fact that I am running the 64-bit version of SQL server? Just for kicks, I delete the name of my instance on the tools-Options

Tools - Options - Database tools

BINGO.  It works like a charm.  I went back and turn that SQL Server Browser service off.  It still works... :D [one more service that I don't need to run.!]

My environment is Vista  Enterprise 64-bit, SQL Server Developer Edition 64-bit, BizTalk 2006-R2, Visual Studio Team Suite 2008.  I don't know if this has anything to do with it, but by leaving the instance name blank, Studio 2008 was able to connect to my local SQL Server instance.

 

oh well.