请教大家有关SQLServer2000 DTS工具的使用问题
将文本数据导入到数据库,如何获得每次导入的行数(这个数显示在SQL运行弹出的对话框)将其记录在已建的表里。曾经将oracle数据库里的数据导入SQLServer数据库,利用@@rowcount获得每次导入的行数。但是文本数据导入,@@rowcount的值为0。
------解决方案--------------------在msdb数据库里面,有2个表,sysdtspackagelog ,sysdtssteplog
有个字段叫progesscount。
记得在包里面打开日志功能才有日志数据。
------解决方案--------------------
一个DTS中可以包含若干个转换以及其他动作(比如发mail,exec sp等等),
所以所谓的这个DTS“每次导入的行数”的说法,应该改为 每个转换“每次导入的行数”。
可以利用全域参数来做。
在每个转换时,
1. 新增全域变数,如 @cnt
2. 点选“来源”里的某一列(最好是不为null)的
3. 点选“新增", 选择“ActiveX Script”(一般第一个)
4. 编辑function ,如VB script language代码如下
Function Main()
DTSGlobalVariables("@cnt").Value=DTSTransformPhaseInfo.CurrentSourceRow
Main = DTSTransformStat_OK
End Function
5. 顺利的话,那个@cnt就是你要的行数