我想你的dts包是在设计器中做的吧? 1.新建一个ActiveX解本任务,然后在其中定义接收各种连接参数的变量,并赋值,用的时候,直接在参数后选择该变量即可 在以后如果要更新的话,就直接更改其中的值就好了 2.新建一个执行SQL语句的任务,然后把你要执行的语句写在其中,即可delete server名.kmain..client where kcode in (select kcode from kmain..client)insert server名.kmain..client(kcode,字段列表) select kcode,字段列表 from kmain..client3.是写到程序中还是sqlserver要看你的需要而定 如果是频繁的大数据量的操作,写到sqlserver中比较好,以减少客户端与服务器端的数据交换量
PACKAGE.SAVE可以存成DTS包。如果存成DTS文件,可以用VB修改其中的链接属性: Set oPackage = New DTS.Package oPackage.LoadFromStorageFile DTS文件名, Empty, , , DTS包名 DTSModify = False For I = 1 To oPackage.Connections.Count If oPackage.Connections(I).Name = "连接2" Or oPackage.Connections(I).Name = "连接4" Then oPackage.Connections(I).DataSource = SqlServerName1 DTSModify = True End If If oPackage.Connections(I).Name = "连接1" Or oPackage.Connections(I).Name = "连接3" Then oPackage.Connections(I).DataSource = SqlServerName2 DTSModify = True End If Next I If DTSModify Then oPackage.SaveToStorageFile DTS文件名
可不可以详细一些呢?
1.新建一个ActiveX解本任务,然后在其中定义接收各种连接参数的变量,并赋值,用的时候,直接在参数后选择该变量即可
在以后如果要更新的话,就直接更改其中的值就好了
2.新建一个执行SQL语句的任务,然后把你要执行的语句写在其中,即可delete server名.kmain..client
where kcode in
(select kcode from kmain..client)insert server名.kmain..client(kcode,字段列表)
select kcode,字段列表 from kmain..client3.是写到程序中还是sqlserver要看你的需要而定
如果是频繁的大数据量的操作,写到sqlserver中比较好,以减少客户端与服务器端的数据交换量
--------------------------------------------------
另外可以直接写SQL语句段,用opendatasource方式拷贝数据表。
Set oPackage = New DTS.Package
oPackage.LoadFromStorageFile DTS文件名, Empty, , , DTS包名
DTSModify = False
For I = 1 To oPackage.Connections.Count
If oPackage.Connections(I).Name = "连接2" Or oPackage.Connections(I).Name = "连接4" Then
oPackage.Connections(I).DataSource = SqlServerName1
DTSModify = True
End If
If oPackage.Connections(I).Name = "连接1" Or oPackage.Connections(I).Name = "连接3" Then
oPackage.Connections(I).DataSource = SqlServerName2
DTSModify = True
End If
Next I
If DTSModify Then oPackage.SaveToStorageFile DTS文件名
急的是如果方便更改与服务器的连接参数!!!!!!
刚才试着做 新建一个ActiveX解本任务 ,里面的东东不知如何下手呀!!!真的这么难呀!??!
EXEC sp_addlinkedserver 'server1','','MSDASQL',NULL,NULL,@connstrto21
select @str = N'select top 1 * from server1.database1.dbo.table1'
exec sp_executesql @str
exec sp_droplinkedsrvlogin 'server1','sa'
exec sp_dropserver 'server1'
如果用 oPackage.LoadFromStorageFile DTS文件名, Empty, , , DTS包名
倒是可以更改里面的参数,可再用 dts 设计器打开这个包时,每更改一次就会多一个版本出来,这是为什么呢?可不可以始终只保持最新一个版本呢?
另外:你单步调试vb程序,应该不会的,是否忘了package.execute语句?
奇怪!!???
谢谢 BenDan2002 !!
结帖啦!