2000的DTS没有研究过
下面的方法应该是可行的:
首先设置一个全局变量, 将要导入的文本文件的文件名存储在该变量中, 修改连接数据源的连接, 指定连接的文件名使用该全局变量然后, 可以用下面两种方法来设置全局变量的值:
方法1: 用 Active 脚本, 取当前日期组成文件名并赋值给全局变量
方法2: 改你的作业调度方法, 用 sql 的 xp_cmdshell , 执行 dtsrun 工具来执行包, 这样, 可以在sql中, 用getdate()取当前日期, 并且生成文件名, 通过 dtsrun 工具的 A 参数来传递给包的全局变量
下面的方法应该是可行的:
首先设置一个全局变量, 将要导入的文本文件的文件名存储在该变量中, 修改连接数据源的连接, 指定连接的文件名使用该全局变量然后, 可以用下面两种方法来设置全局变量的值:
方法1: 用 Active 脚本, 取当前日期组成文件名并赋值给全局变量
方法2: 改你的作业调度方法, 用 sql 的 xp_cmdshell , 执行 dtsrun 工具来执行包, 这样, 可以在sql中, 用getdate()取当前日期, 并且生成文件名, 通过 dtsrun 工具的 A 参数来传递给包的全局变量
直接用for each 文件循环就可以读取指定目录下的文件名
或者直接把文件名设置为表达式, 表达式中通过日期函数生成当前的文件名即可。
1,Jim
2,Kate
3,Tom
...
create table tt
(id int,
name char(10)
)BULK INSERT dbo.stu
FROM 'D:\stu.txt'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)编写一个程序调度上面的sql语句,文件名和表名可以通过编程的方法改变
1,Jim
2,Kate
3,Tom
...
create table tt
(id int,
name char(10)
)BULK INSERT dbo.tt
FROM 'D:\stu.txt'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)编写一个程序调度上面的sql语句,文件名和表名可以通过编程的方法改变
BULK INSERT dbo.tt
FROM 'D:\stu.txt'
WITH (
FIELDTERMINATOR = '|',
ROWTERMINATOR = '\n'
)
文件遇到意外的文件结尾