Showing posts with label strings. Show all posts
Showing posts with label strings. Show all posts

Friday, February 24, 2012

Dynamic Connection Strings in SSIS

Possible or not? -->
I maybe lazy - but I want to achieve just specifiying 1 variable in SSIS package ("environment") - and all the connectionStrings should "poof" magically be adjusted to correct locations

In DTS I created a SetDTSenvironmentVariables function for all my packages - so how wouldIi achieve this in SSIS?

Function SetDTSenvironmentVariables( environment )
Folder = "MyDtsPackageFolder"
Select Case environment
case "DEV"
DTSGlobalVariables("WorkingDirectory").value = "C:\Packages" & Folder
case "STAGING"
DTSGlobalVariables("WorkingDirectory").value = "D:\Sql_working_directory\My_production\STAGING" & Folder
case "LIVE"
DTSGlobalVariables("WorkingDirectory").value = "D:\Sql_working_directory\My_production\" & Folder
End Select

'
' Set Connection Properties
'
dim oPackage, oConn
set oPackage = DTSGlobalVariables.parent
oPackage.LogFileName = DTSGlobalVariables("WorkingDirectory").value & "\Logs\Errors.txt"
For Each oConn In oPackage.connections
Select Case oConn.Name
case "My_DB"
Select Case environment
case "DEV"
oConn.datasource = "SERVER01"
oConn.Catalog = "My_Production"
case "STAGING"
oConn.datasource = "SERVER06"
oConn.Catalog = "My_Staging"
case "LIVE"
oConn.datasource = "SERVER06"
oConn.Catalog = "My_Production"
End Select
case "Schools.xls"
oConn.datasource = DTSGlobalVariables("WorkingDirectory").value & "\" & "School_Codes.xls"
case else
oConn.datasource = DTSGlobalVariables("WorkingDirectory").value & "\" & oConn.Name
End Select
Next

set oPackage = nothing
set oConn = nothing
End Function

The way I do this is to have a variable called RootFolder and all other directories are relative to that and hence can be set dynamically using an expression (on ConnectionString property of the appropriate connection manager).

RootFolder variable is set via a configuration. Its your choice as to what type of configuration you use.

I kinda talk about this a bit here:

Common folder structure
(http://blogs.conchango.com/jamiethomson/archive/2006/01/05/2559.aspx)

-Jamie

|||Awesome, dude

Thanks mate - only thing I wonder how do you get time to write all those blogs...|||

TheViewMaster wrote:

Awesome, dude

Thanks mate - only thing I wonder how do you get time to write all those blogs...

I wonder myself sometime.

I've been doing it for two years tho so there's quite a library of "stuff" up there now. I hardly ever write anything new these days.

-Jamie

Dynamic Connection Strings in a Scipt

I am trying to split a .csv file on a week+location key. As there are 500+ locations and 52 weeks in a year this is not a manual task.

I have a Script component written but need to dynamically open/close the connection manager changing the connection string in between, to the Week+location key as the filename.

It has to be do-able because the ForEachLoop does it. But how do I?

You'll most likely want to use a ForEach Loop, variables and property expressions.

This blog post should help you out - Looping over files with the Foreach Loop

HTH,

~Matt

|||That would be fine if I was trying to concatenate many to one, I use the ForEachLoop a lot, but I am trying to split one into many. I can't see how to use an FEL for that, or am I just being dumb?|||

I see two approaches you could take:

1. Use a script task (in the control flow, not the data flow) to split up your CSV file into multiple files, then process them all using a dataflow inside of a for each loop.

2. Continue using your script component, but use a foreach loop to pass in the week + location key you want to process, and process them one by one.

~Matt

|||Maybe this post might give you some ideas: http://blogs.conchango.com/jamiethomson/archive/2005/12/04/SSIS-Nugget_3A00_-Splitting-a-file-into-multiple-files.aspx|||

Ah, thanks John! I hadn't see that entry before. I'll keep that link handy for future reference.

~Matt

|||Thanks for the help.

The technique I ended up using has a script task inside a for each loop which sets the connect string before a dataflow connects using the new connect string and processing each file. Simple when you have a night's sleep!!
|||Can you please tell me how to set the connectionstring in script task dynamically ? I need to set the initialcatalog property of connectionstring and loop over multiple databases to transfer data in foreach loop in SSIS package. So I have taken the database names in a collection and looping each of them. However when I create another script in it, the visual studio breaks down and says you have encountered unhandled exception. Can you throw some light over it ?|||Can you post the script your are using? Sounds like you might have a bug in it.

Dynamic Connection Strings in a Scipt

I am trying to split a .csv file on a week+location key. As there are 500+ locations and 52 weeks in a year this is not a manual task.

I have a Script component written but need to dynamically open/close the connection manager changing the connection string in between, to the Week+location key as the filename.

It has to be do-able because the ForEachLoop does it. But how do I?

You'll most likely want to use a ForEach Loop, variables and property expressions.

This blog post should help you out - Looping over files with the Foreach Loop

HTH,

~Matt

|||That would be fine if I was trying to concatenate many to one, I use the ForEachLoop a lot, but I am trying to split one into many. I can't see how to use an FEL for that, or am I just being dumb?|||

I see two approaches you could take:

1. Use a script task (in the control flow, not the data flow) to split up your CSV file into multiple files, then process them all using a dataflow inside of a for each loop.

2. Continue using your script component, but use a foreach loop to pass in the week + location key you want to process, and process them one by one.

~Matt

|||Maybe this post might give you some ideas: http://blogs.conchango.com/jamiethomson/archive/2005/12/04/SSIS-Nugget_3A00_-Splitting-a-file-into-multiple-files.aspx|||

Ah, thanks John! I hadn't see that entry before. I'll keep that link handy for future reference.

~Matt

|||Thanks for the help.

The technique I ended up using has a script task inside a for each loop which sets the connect string before a dataflow connects using the new connect string and processing each file. Simple when you have a night's sleep!!
|||Can you please tell me how to set the connectionstring in script task dynamically ? I need to set the initialcatalog property of connectionstring and loop over multiple databases to transfer data in foreach loop in SSIS package. So I have taken the database names in a collection and looping each of them. However when I create another script in it, the visual studio breaks down and says you have encountered unhandled exception. Can you throw some light over it ?|||Can you post the script your are using? Sounds like you might have a bug in it.

Dynamic Connection Strings

Hi,

I am looking to allow a user to select which database they need to connect to, and then for them to be able to use that connection string until they choose a different database. I have a separate database specifically to hold the list of databases with the respective connection strings, and various forms that are currently looking at the web.config for the connection string. Unfortunately, I can't just put all the connection strings into the web.config as the number of databases available to the user will increase on a weekly basis which will be handled by a database administrator, so I want a user to select from a list of databases (for which they have permissions), and for that connection string to remain for that user. Potentially there will be 20 or more users each connected to a different database (all SQL Express).

If anyone can provide any help on this I will be truly thankful as I've hunted on the internet for hours and have been unable to find anything that has helped.

Thanks in advance.

Paul

Try this class: SqlConnectionStringBuilder

There are versions for Oracle, OLEDB, etc.

|||

I have a very similar problem and I thought I had it cracked with the following:

Public

objClientConnectionAsNew ConnectionStringSettings

PublicSub Page_Init(ByVal senderAsObject,ByVal eAs System.EventArgs)
If Session("ClientDBConnectionString") <>""Then
objClientConnection.ConnectionString = Session("ClientDBConnectionString")
objClientConnection.Name ="ClientDBConnection"
objClientConnection.ProviderName ="System.Data.SqlClient"
Else
objClientConnection = ConfigurationManager.ConnectionStrings("WebTool1ConnectionString")
EndIf
End Sub

The session variable Session("ClientDBConnectionString") holds the client specific connection string and is populated when the user logs on. If this is not populated then the connection string defaults to one collected from web.config. This should ensure there is always a design time connection string available.

The trouble is, when I try and declare the SQL data souce like this:

<

asp:SqlDataSourceID="dsTest"runat="server"ConnectionString="<%# objClientConnection.ConnectionString %>"SelectCommand="usp_SEL_DocumentTypes"SelectCommandType="StoredProcedure"></asp:SqlDataSource>

I get an error:The ConnectionString property has not been initialized.

I have been going around in circles on this for days and would really appreciate some help. Am I on the right lines? What needs to change to make it work? Is there a better way?

Many thanks,

Cliff

|||

Thanks guys. I'll have to do some reading onSqlConnectionStringBuilder as this isn't a class I've come across before. Any pointers as to its usage in the situation I described would be really helpful. I'm also grateful to Cliff for his contribution as I'm really pleased to see somebody else struggling with the same problem, I'm not alone after all! Cliff, if / when you find a solution for your code (and likewise if I find a way around this one), I'm sure it'll help lots of developers from spending days struggling as we have, if we post the solution here.

Thanks,

Paul

|||

Hi All,

I think that I have managed to crack this one and hope that by posting the solution here it helps one or two others. I was a little worried about sessions timing out (as with the suggestion from Cliff), so have instead opted to use a profile. I'm only scratching the surface here - this all just functional. I must thank Ryan Olshan within these forums, as the one bit I couldn't get to work was the sorting and paging of the gridview as without the usual sqlDataSource, these don't work at all (the full thread for this can be found at:http://forums.asp.net/thread/1240547.aspx), so that part of the code is entirely thanks to him.

Because I want to force the user to select which database to connect to (for the purposes here they are Project1, Project2 & Project3), I have a database that has a table that holds the database names and connection strings. I have added the connection string for this in the normal way in the web.config file. So to add the profile to the web.config file:

<

connectionStrings>

<

addname="ConnectionString1"connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\TestCRM.mdf;Integrated Security=True;User Instance=True"providerName="System.Data.SqlClient" />

</

connectionStrings>

<

system.web>

<

anonymousIdentificationenabled="true"/>

<

profileenabled="true">

<

properties>

<

addname="ConnStr"allowAnonymous="true"/>

</

properties>

</

profile>

</

system.web>

Next, I have a gridview that connects to the connection string in the web.config. This allows the user to select which database to connect to (at the moment, I'm displaying the connection strings along with the other project details, and simply selecting the content of the particular selected database:

Protected

Sub GridView1_SelectedIndexChanged(ByVal senderAsObject,ByVal eAs GridViewCommandEventArgs)' Get the currently selected row using the SelectedRow property.Dim rowAs GridViewRow = GridView1.SelectedRowIf e.CommandName ="Select"Then' Convert the row index stored in the CommandArgument' property to an Integer.Dim indexAsInteger = Convert.ToInt32(e.CommandArgument)' Get the connection string from the appropriate' cell in the GridView control.Dim selectedRowAs GridViewRow = GridView1.Rows(index)Dim ConStrCellAs TableCell = selectedRow.Cells(8)Dim ConStrAsString = ConStrCell.Text

' Pass the connection string to the profile...

Profile.ConnStr = ConStr

' ... and move to the page that should utilise this connection string

Response.Redirect(

"test.aspx")EndIfEndSub

<%

@.PageLanguage="VB"AutoEventWireup="true"CodeFile="Default.aspx.vb"Inherits="_Default" %>

<!

DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.1//EN""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<

htmlxmlns="http://www.w3.org/1999/xhtml">

<

headrunat="server"><title>Project Selector</title>

</

head>

<

body><formid="form1"runat="server"><asp:ScriptManagerID="ScriptManager1"runat="server"/><div><asp:GridViewID="GridView1"runat="server"AllowPaging="True"AllowSorting="True"AutoGenerateColumns="False"CellPadding="4"DataSourceID="SqlDataSource1"EmptyDataText="There are no data records to display."ForeColor="#333333"GridLines="None"OnRowCommand="GridView1_SelectedIndexChanged"><FooterStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/><Columns><asp:ButtonFieldCommandName="Select"Text="Select"/><asp:BoundFieldDataField="ProjName"HeaderText="Project Name"SortExpression="ProjName"><HeaderStyleHorizontalAlign="Center"VerticalAlign="Middle"/></asp:BoundField><asp:BoundFieldDataField="ProjDesc"HeaderText="Project Desc"SortExpression="ProjDesc"/><asp:BoundFieldDataField="DBName"HeaderText="Database Name"SortExpression="DBName"/><asp:BoundFieldDataField="TotalHD"HeaderText="Total Half Days"SortExpression="TotalHD"/><asp:CheckBoxFieldDataField="Active"HeaderText="Active"SortExpression="Active"/><asp:BoundFieldDataField="ProjMgr"HeaderText="Project Manager"SortExpression="ProjMgr"/><asp:BoundFieldDataField="AppointTarget"HeaderText="Appointment Target"SortExpression="AppointTarget"/><asp:BoundFieldDataField="ConnectionString"HeaderText="Connection String"SortExpression="ConnectionString"/></Columns><RowStyleBackColor="#F7F6F3"ForeColor="#333333"/><EditRowStyleBackColor="#999999"/><SelectedRowStyleBackColor="#E2DED6"Font-Bold="True"ForeColor="#333333"/><PagerStyleBackColor="#284775"ForeColor="White"HorizontalAlign="Center"/><HeaderStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/><AlternatingRowStyleBackColor="White"ForeColor="#284775"/></asp:GridView><asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:logiCRMConnectionString1 %>"ProviderName="<%$ ConnectionStrings:ConnectionString1.ProviderName %>"SelectCommand="SELECT [ProjectURN], [ProjName], [ProjDesc], [DBName], [TotalHD], [Active], [ProjMgr], [AppointTarget], [TMDocPath], [ExtUserName], [ExtPassword], [ConnectionString], [DateCreated], [CreatedBy], [DateAmended], [AmendedBy], [Deleted] FROM [Projects]"></asp:SqlDataSource><br/><asp:LabelID="lblMessage"runat="server"></asp:Label></div></form>

</

body>

</

html>

Notice in the code behind, the key part is where the connection string is passed to the profile in web.config... Profile.ConnStr = ConStr

This next page is able to connect to the connection string from the one held in the profile as it is added into the code behind. You should note that I have allowed sorting and paging, so the amount of code I'm showing is quite lengthy, but I've highlighted in bold text the appropriate bits:

<%

@.PageLanguage="VB"AutoEventWireup="false"CodeFile="Test.aspx.vb"Inherits="Test" %>

<!

DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<

htmlxmlns="http://www.w3.org/1999/xhtml">

<

headrunat="server"><title>Test connect without a DataSource control</title>

</

head>

<

body><formid="form1"runat="server"><asp:ScriptManagerID="ScriptManager1"runat="server"/><div><fieldsetid="Fieldset1"style="width: 97%;"><legendclass="legendnohelp"><span>Company List</span></legend><asp:gridviewid="GridView1"AllowSorting="true"AllowPaging="true"autogeneratecolumns="false"runat="server"PageSize="20"Width="100%"DataKeyNames="CoID"EmptyDataText="There are no Companies to display"OnPageIndexChanging="gridView_PageIndexChanging"OnSorting="gridView_Sorting"><Columns><asp:BoundFieldReadOnly="True"DataField="CoID"InsertVisible="False"Visible="False"SortExpression="CoID"HeaderText="CoID"></asp:BoundField><asp:HyperLinkFieldHeaderText="Company Name"SortExpression="CoName"Text="Detail"DataTextField="CoName"DataNavigateUrlFormatString="company.aspx?coid={0}"DataNavigateUrlFields="CoID"><ItemStyleWidth="35%"></ItemStyle></asp:HyperLinkField><asp:BoundFieldDataField="Town"SortExpression="Town"HeaderText="Town"><ItemStyleWidth="20%"></ItemStyle></asp:BoundField><asp:BoundFieldDataField="Postcode"SortExpression="Postcode"HeaderText="Postcode"><ItemStyleWidth="15%"></ItemStyle></asp:BoundField><asp:BoundFieldDataField="Telephone"SortExpression="Telephone"HeaderText="Telephone"><ItemStyleWidth="15%"Wrap="False"></ItemStyle></asp:BoundField><asp:BoundFieldDataField="Status"HeaderText="Status"SortExpression="Status"><ItemStyleWidth="15%"/></asp:BoundField></Columns></asp:gridview><asp:LabelID="lblMessage"runat="server"Width="202px"/></fieldset></div></form>

</

body>

</

html>

Imports

System.Data

Imports

System.Data.Sqlclient

Partial

Class TestInherits System.Web.UI.PageProtectedSub Page_Load(ByVal senderAsObject,ByVal eAs System.EventArgs)HandlesMe.Load

PopulateGridView()

EndSubPrivateSub PopulateGridView()Dim connectionStringAsString = DbConnectionString()Dim SQLConnectionAs SqlConnection =New SqlConnection(connectionString)

' this is just a stored procedure to recover the records to populate the gridview...

Dim sqlQueryAsString ="GetCompanies"Dim sqlCommandAs SqlCommand =New SqlCommand(sqlQuery, SQLConnection)Dim coDataAdapterAs SqlDataAdapter =New SqlDataAdapter(sqlCommand)Dim coDataTableAs DataTable =New DataTable("Companies")

coDataAdapter.Fill(coDataTable)

Dim dataTableRowCountAsInteger = coDataTable.Rows.CountIf dataTableRowCount > 0Then

GridView1.DataSource = coDataTable

GridView1.DataBind()

EndIfEndSubPrivateFunction DbConnectionString()AsStringDim DbPathAsString ="Data Source=" & Profile.ConnStr

ReturnString.Format(DbPath)

EndFunction

ProtectedFunction SortDataTable(ByVal dataTableAs DataTable,ByVal isPageIndexChangingAsBoolean)As DataViewIfNot dataTableIsNothingThenDim dataViewAs DataView =New DataView(dataTable)If GridViewSortExpression <>String.EmptyThenIf isPageIndexChangingThen

dataView.Sort =

String.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection)Else

dataView.Sort =

String.Format("{0} {1}", GridViewSortExpression, GetSortDirection())EndIfEndIfReturn dataViewElseReturnNew DataView()EndIfEndFunctionProtectedSub gridView_Sorting(ByVal senderAsObject,ByVal eAs GridViewSortEventArgs)

GridViewSortExpression = e.SortExpression

Dim pageIndexAsInteger = GridView1.PageIndex

GridView1.DataSource = SortDataTable(GridView1.DataSource,

False)

GridView1.DataBind()

GridView1.PageIndex = pageIndex

EndSubProtectedSub gridView_PageIndexChanging(ByVal senderAsObject,ByVal eAs GridViewPageEventArgs)

GridView1.DataSource = SortDataTable(GridView1.DataSource,

True)

GridView1.PageIndex = e.NewPageIndex

GridView1.DataBind()

EndSubPrivateFunction GetSortDirection()AsStringSelectCase GridViewSortDirectionCase"ASC"

GridViewSortDirection =

"DESC"' breakCase"DESC"

GridViewSortDirection =

"ASC"' breakEndSelectReturn GridViewSortDirectionEndFunctionPrivateProperty GridViewSortBLOCKED EXPRESSIONAsStringGetReturn IIf(ViewState("SortExpression") =Nothing,String.Empty, ViewState("SortExpression"))EndGetSet(ByVal valueAsString)

ViewState(

"SortExpression") = valueEndSetEndPropertyPrivateProperty GridViewSortDirection()AsStringGetReturn IIf(ViewState("SortDirection") =Nothing,"ASC", ViewState("SortDirection"))EndGetSet(ByVal valueAsString)

ViewState(

"SortDirection") = valueEndSetEndProperty

End

Class

And that is all there is to it! I hope this helps a few people.

Cheers,

Paul

Wednesday, February 15, 2012

Dymamic connection strings in SSIS...

I was reading through the following post regarding dynamic connection strings:

http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=812814&SiteID=17

In this posting they talk about setting up a configuration file to setup the connection string, but I am not sure how to apply that connection string to my connection manager. When I go into my configuration file, I can see the connection string, and when I go into the advanced properties of the connection manager, under the "Named ConnectionString\FileName" property, I set the property value to the name of my configuration file, but when I test the connection I get an error that the connection string property has not been initialized.

Can someone please assist me with identifying what I am doing incorrectly?

Thanks in advance for the assistance!

Craig

Hi Craig,

It sounds like you might be missing a step. In the post you linked, they are setting a variable through a configuration file, and then using that variable in an expression to set the connection's ConnectionString. Did you setup the expression properly?

Jaime's blog has an entry on how to set expressions.

Hope that helps!

~Matt

|||

Hi Matt,

Thanks for the reply. I checked out the link that you sent me. It looks like he is setting the data source connection string for a flat file dynamically... When I go into the Connection Manager for the Ole Db, there is no expression property in which to set up. There is, however, a File Name property under the "Named ConnectionString" group, which I put in the value of <PATH>\SSIS_Config.dtsConfig.

I am trying to set the connection string for the destination SQL table dynamically (we basically have 3 environments - Development, Staging, and Production). When the packages are pushed to the staging environment, we want to be able to change the connection string in the configutation file and have all packages use the configured connection string.

Please let me know if you have any further questions.

Thanks!

Craig

|||

It's a little confusing, but the expressions don't show up in the connection manager editor window you get when you double click on the connection name - you have to view the connection in the "Properties" window. Right click on you connection and select Properties, or select the connection when the properties window is in view.

I'm not too familiar with the "Named ConnectionString" property group, but I think you can accomplish what you're trying to do by setting expressions for the InitialCatalog property (and maybe ServerName if your host changes based on the staging environment).

Post if you have trouble finding it, or it's not working for you.. I can try to post some screen shots.

~Matt

|||

Matt,

Thanks again for the reply! I did find the expressions for the Ole Db connection manager (just as you said, not by double-clicking, but by clicking on the connection manager, and expanding the properties window). :-)

So, here's my issue... I created a global variable as a string data type, and set it's value to the path of the config file. I then opened the expressions window, and selected the ConnectionString property, and set it's value to @.[User::Config_ConnectionString]. When I evaluate the expression, i get the path of the config file.

Am I missing another step? If you don't mind putting some screen shots together, you can email me directly at craigster1976@.msn.con, so you don't have to worry about trying to post them here. I think i'm pretty close - just missing one or two steps.

Thanks for all of your help, and your speedy responses!

Craig

|||

Hi Craig,

The variable should be the actual value, not the path to the configuration file.

You should take a look at this article - Easy Package Configuration. It appears they are doing what you're trying to accomplish without using expressions. Expressions are more useful when you're building up connection strings programmatically. If you're setting the full server / initial catalog values in your configuration, you might want to take this approach instead.

~Matt

|||

Good morning from snowy Colorado!

I am kind of confused... :-( I have set up my configuration file, which contains my connection string (the link in your last posting gave instructions on how to set up the confguration file, and that worked fine). Now, I need to retrieve the value from the config file, and set the connection string for my connection mamager, and I am not sure how to accomplish this... I have tried several variations... I tried setting up an environment variable, pointing it to my Xml config file, but I cannot find any documentation on how to pull the value out, and use that value in my package. I have seen a lot of postings where the config file is used to programmatically pull the value from the config file, then set a variable in the package through code, but we would rather not do that... All of our packages are going to be running through scheduled jobs, and we don't want to write a program that kicks off the package. However, rather than manually changing the connection string every time we move from Dev to Prod, we want this value to come from the config file - we would just change that config file value for the new environment that we will be running in. I have read through alomost all of Jamie's blog's regarding SSIS, and haven't found one that addresses what we are trying to accomplish. It seems that there is a plethera of information on setting up the config file, but not pulling values from it! Anyway... If you can provide any further insight, I would be most appreciative.

Thanks, agian, for the help and the time!

Craig

|||

If you set up a configuration file then you don't have to do anything in your package other than tell your package to use it (which you do via the SSIS menu in BIDS).

You do not have to do anything explicit in your package to make a value from the referenced configuration file appear for a particular property (i.e. "pulling from it" as you term it). If you have a configuration set up in that configuration file for a particular property then it just happens as a matter of course.

-Jamie

|||

Jamie...

Well, now that I feel like a complete moron! To test, what I did was set up the configuration file to point to our development DB server. I then setup the connection manager to point to my localhost. When I exected the package (just as you said) "it just happened as a matter of course"... All the records were pumped into the development DB, just as they were supposed to.

On a side note, I have really enjoyed your blogs, and have learned a ton from them, so thanks for putting that information into your blogs for us to learn from! Just as a suggestion, maybe put together a blog regarding the use of the configuration files so people like me don't spin our wheels for a day trying to figure something out so remedial!

Thanks, again! Have a nice day!

Craig

|||

Craigster wrote:

Jamie...

Well, now that I feel like a complete moron! To test, what I did was set up the configuration file to point to our development DB server. I then setup the connection manager to point to my localhost. When I exected the package (just as you said) "it just happened as a matter of course"... All the records were pumped into the development DB, just as they were supposed to.

OK cool. Good to know. Glad you got it working.

Craigster wrote:

On a side note, I have really enjoyed your blogs, and have learned a ton from them, so thanks for putting that information into your blogs for us to learn from!

My pleasure.. Its good to know that they're appreciated, believe me.

Craigster wrote:

Just as a suggestion, maybe put together a blog regarding the use of the configuration files so people like me don't spin our wheels for a day trying to figure something out so remedial!

All suggestions readily accepted. I'll put it on my "things to do" list.

cheers

-Jamie