I have had a go at using a package with a script to rename and move a file and it works well by using a script task in a package with source and destination variables. See script at bottom
But in my scenario the file thst comes in every day will have a slightly different name. It will be called "System_UT_INCR_BOOKINGHEADER_20080228000000.TXT"
On the 28th Feb. The date part of the title changes everyday.
SO i need to adjust my "Source" variable which is currently just a string with a value of "C:DatafilesimportsSystem_UT_INCR_BOOKINGHEADER_20080228000000.TXT" So it will only ever look for that exact file name
Imports System.IO
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Public Class ScriptMain
' The execution engine calls this method when the task executes.
' To access the object model, use the Dts object. Connections, variables, events,
' and logging features are available as static members of the Dts class.
' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
'
' To open Code and Text Editor Help, press F1.
' To open Object Browser, press Ctrl+Alt+J.
Public Sub Main()
Try
File.Move(Dts.Variables("Source").Value.ToString, Dts.Variables("Destination").Value.ToString)
Dts.Events.FireInformation(0, "", "File Moved Succesfully", "", 0, True)
Catch ex As Exception
Dts.Events.FireError(1, "", "Source file or destinations does not exist", "", 0)
End Try
I'm copying files to a folder with the naming convention as follows in the source folder:
CM_ABC_MY_TEST.txt
In the destination folder, this filename needs to appear as:
CM_XYZ_MY_TEST.txt
In my File System Task, I'm pretty sure I'm going to need an expression with a replace, substring, etc. But am having a hard time nailing down the exact syntax.
We have a SSIS package which is accessing a remote Windows file share location. The package first moves the file from folder-1 to folder-2 and also renames the file during this process. Then the package reads the file (using a flat file connection FF_SRC) from folder-2 and renames it again after processing it successfully.
The permissions given to the user executing the package on folder-2 are: Read+Write+Modify+List folder contents.
We are facing an error:
Code SnippetFile or directory "Z:folder-2XYZ.txt" represented by connection "FF_SRC" does not exist.
We are getting the above error when the SSIS package is trying to rename the file the second time in folder-2.
However, the file exists in folder-2.
The OS is Windows 2000 Server SP4.
Any ideas why this could be happening and how it could be resolved?
I'm having trouble working this out in SSIS. I am trying to use a File System task to rename a file using an expression so that file.zip will be renamed to filemmyy.zip at the end of every month (for instance this month would be file0506.zip).
I am using the destination expression variable. But I'm not sure what to put for DestinationConnection. It seems to want a file name, but the file name is going to be variable, so I'm not sure what to put.
I'm moving a database (XYZtest) from the test server to the production server via sp_detach/sp_attach. I want the logical file names to be XYZ_data, rather than XYZtest_data, etc. I can easily rename the disk files, but how do I rename the logical file names?
Suppose I have an Excel file in D:Test with the name a.xls. Can I rename that excel file from QA of SQL SERVER in the same location or any other location? Subhasish
Is there a way to rename the logical file for a database. For example, if I am moving a development database into production, I can use backup - but the backup takes the logical file names of the database and puts it into my production server. Now I have a production database with "dev_data1" for a logical file.....Can I change that name....?
Hi, After executing a dts package to load data from a file to a SQL table. I need to rename the file after the load. Could any one give me a code sample so that I can add that as a task after the execution of the load in the same package
Is there a way to rename the logical file names? I'm not talkingspecifically about the physical files, because those can be changedduring a restore, but the values immediately to the left of those inEnterprise Manager such as DBName_Data and DBName_log. EnterpriseManager lets me change them during a restore, but when I do it gives anerror. Any ideas?
I am using a DTS package to extract data from a table and export it to an excel file. This task needs to run on a weekly basis and the filename should contain the date the file was created. I have sucessfully used the activex scropt below to rename .txt files but when I try to use it for Excel files it always defaults to the default filename I specified in the destination file properties. Can anyone show me how to do this for Excel files?
I am trying to move a flat file to an archive folder and then rename the file to include the date and time of runtime.
I have set up a File System Task to move the file which works fine and a second File System Task to rename. The IsDestinationPathVariable is set to TRUE and the DestinationVariable is called User::Error_Log_File_Rename. There is an expression as follows:
If I go into the expression and evaluate it it will give me the current date and time. However when I run it as part of the package say 10 minutes later the file is renamed using the same date and time from 10 minutes before when I evaluated the expression. If I wait another 10 minutes and run the package again it still retains the original date and time.
Is there a way to get the expression evaluated with the current date and time during execution of the package?
Is there any danger with renaming the LOGICAL file names behind the database?
There are a bunch of databases that were restored copies and all of them have the same logical database file name. I'm trying to get some growth data so I want the logical files to be different (prefer them to match the actual database name) so I can more easily identify them.
Am I safe to rename the logical names? I can't think of anything that references those logical file names that I would be breaking [backups, applications].
I need to rename my 2000 Server running an instance of SQL 2000. My question is this, will I have to reinstall SQL after the rename or will it come back up detecting the new server name. I am in a domain as a stand alone server.
I searched, but couldn't find anything to match what I am looking for...
Basically, is there any way to tell DTS to create a new table each time that the backup is run? I am scheduling the backup for 1 hour intervals for 5 days, but need the databases that are backed up to be unique, so i would end up wiht 120 of them total.
Is there any way to do this through DTS? Or am I hosed?
hi, I had a table and it has certain dependecies(like stored proc.). I rename the table and created anew one with same name.this new table did not inherited all the dependecies which it should. To say, I had a table TAB.I renamed it to TAB_old and made a new table with name TAB.When I go to SEM and click on 'Display Dependencies' table TAB is not showing anything whereas TAB_old is stil showing all the dependecies.I even ran Update stats and sp_updatestats. any idea what is this going on..... TIA
After I renamed the server. Jobs that exsisted before I renamed the server are still associated with the original server name. It has associated those jobs with the original server and assumes that the original server is the MSX server. I do not have multiple instances running on the server and do not want it that way. Is there a way to change the originating server? Or remove the MSX server?
Example SERVER_A renamed to SERVER_B and SERVER_B renamed to SERVER_A
It is easy enough to change the NT box name. Other than using sp_DropServer and sp_AddServer, is there any other changes (updates) we need to make to SQL server or any system tables???
Does any one know a utility / script that could be used to connect to remote SQL server DB and rename/delete some tables... DOn't have Enterprise Manager right now and need this urgently .....
Can anyone suggest a quick and easy way to rename a database AND .MDF/.LDF file in SQL Server? I can not, for the life of me, figure out a way to do this. Help?
I am using SQL Server Management Studio with SQL Server 2005. On my development SQL server, I have developers using a database named TestData. An off-site developer has sent new versions of TestData.MDF and TestData.LDF. I want to attach this new database to the same development server for testing, without overwriting the existing database in use by the developers. How can I rename this new TestData to something like TestDataNew while attaching it? I only have the MDF and LDF files.
I need to rename the Columns of a table in SQL Server 2005. The table is consisting of nearly 200 columns and the requirement is that every column needs to be appended with a name that would be given by me.
Example:
Let the name of the table be "Applicationdata" let it contain columns say
Name DOB Gender Place Qualification
now I need to add a code say "Appl" before every column so that after the code is run, the column names sholud be changed as
HelloI am wondering if this is able to be done and what implications there wouldbe with SQL Server.Server1 name: Production Currently running Windows NT and SQL 7instance name is ProductionServer2 name: Test Currently running Windows 2000 andSQL 2000, instance name is Test - default installationBring the Server1 offline and rename Server 2 with the name of Production.Do we have to change the instance name in SQL now on Server 2? If so can wedo this? I didn't think you could change a instance name and had toreinstall SQL.Another Question:Can you have 2 instances of SQL with the same name but reside on differentservers?ThanksSher
The previous post regarding dependencies reminded me of another bugger I comeup with from time to time. SQL Server allows us to rename objects via asystem stored procedure (I usually use an ADP front-end that presumably callsthe same procedure), but after the rename, I find singnificant strangeness.For instance, triggers are still connected to the tables, but the trigger textstill refers to the old table name. Views and stored procedures dependent onthe table are broken, and are not fixed by even by restarting the server,though I thought the cached plans were supposed to be dumped on shut-down,then recreated on demand later.Is there some tool or technique to rename a table and automatically detect andproperly drop/rebuild dependent triggers, views, stored procedures,relationships, and anything else I'm not thinking of?Oh yeah, and there are extended properties to deal with as well, but I guessthat's intractible unless we know what client build them (e.g. Access ADP),and what it expects to be recorded there, but I suppose it would be nice tojust dump them rather than leave them there possibly corrupted from a client'spersective.
I have a Windows 2003 server box running SQL 2000 and BizTalk 2006. I need to change the name of the underlying server, could anyone point me in the right direction of what I would need to change in terms of SQL and BizTalk config to make it all sit happily with this?
I used the wizard to create a package that loads data from Access into SQL Server 2005. I then saved the package to the File System and added to my project.
I had two connections, one for SQL and one for Access. When I rename either one, the source or destination tasks in the Data Flow task reset to the other connection and/or I get an error that the old connection ID cannot be found.
I solved by opening the dtsx in Notepad and doing a global find/replace for the connection ID's. This is a real hassle.
Hi! I'm trying to rename tables in a msde database, without succeeding. Simple question, I guess, but I can't find out how to do this. I know this doesn't work though:--- Dim connectionString As String = "server='(local)'; trusted_connection=true; database='GustafTest1'"Dim cn As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand cn.Open() Dim queryString As String = "RENAME TABLE table1 TO table2" '"ALTER TABLE [table1] RENAME TO [table2]" dbCommand.CommandText = queryString dbCommand.Connection = cndbCommand.ExecuteNonQuery()---The reason to why I want to do this is that I'm updating the information of my system, and store the new data in a temporary table during update, in case something goes wrong. If the storing goes alright, the newly loaded the old table is renamed to backup_table and the temporary table is renamed from updating_table to active_table.That is a good solution, right?Thanx,Jon Engström, Sweden