数据导入问题,急,请帮忙,谢谢 用DTS先导入全部内容到临时的表,再写个SQL语句插入目的表就可以了. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用DTS导总是有问题,不知道分割符用什么。能不能用SQL写程序大批量导入,这个是银行大机的数据,每天要导入一次的,如果用DTS导的话操作员太烦了。最好能写个存储过程,我用ASP.net做的一个考核程序能直接调用这个存储过程,以实现数据导入。 如果你文本中数字的位置固定,可以用程序一行一行的读,再按位数算出账号,金额,姓名三个字段的具体内容,存入三个变量,然后用ADO控件编写程序,存入数据库。 因为你的内容长度是有规律的,可以将每一行作为一个字段导入到一个过渡表中,当然此表只有一个字段,然后用SUBSTRING(SOURCE,BEGEIN,LENGTH)函数将相关字段取出到一个新表中 BULK INSERT 库名..表名FROM 'c:\test.txt'WITH ( FIELDTERMINATOR = ';', ROWTERMINATOR = '\n')注意字段标识符随便选了一个,为“;”,没用的。 再用下面的参考例子生成另一个表select substring(Body,4,5) fi,substring(Body,20,6) se into tt from Threads 文件内各个字段间隔都是不定长度的空格,有的列之见2个空格,有的列之间5个空格,那字段表示符应该是什么,我写了那个程序总是出错,用DTS到是可以导入到临时表中 按照你的方法我弄了一下可以的,账号,金额,姓名也导入了,非常感谢你!但现在出现了这样的问题:例如在第40位开始有“存款”两个中文字符,而另外一行的第40位开始却是####四位字符串,在文本中“存款”两个中文字符刚好和####对齐,也就是说每个中文字符占两个“##”的宽度,但用SUBSTRING函数时候,“存款”这两个中文字符只算了两位,这导致后面的金额取出来有错位现象,不知道这怎么解决 各位对用文本作为保存数据的载体这种做法有什么看法 SQL2005 中 SYNONYM占用内存情况 SQL SERVER2005 的大小区分问题?? 数据库 數據限制問題 请教2005备份的数据库文件如何还原到2000下面 作业调度时间最小是1分钟,谁有办法让作业以秒来计算? 谁能给出这样的sql查询语句! [向ALL提问]每日一个小问题 5 请大家给一个解题的思路,看一下这个问题怎么办? yukon的问题:有在win2000下安装时没有问题的高手请进!!! 我的心好痛——事务处理还是不明白?
可以将每一行作为一个字段导入到一个过渡表中,当然此表只有一个字段,
然后用SUBSTRING(SOURCE,BEGEIN,LENGTH)函数将相关字段取出到一个新表中
FROM 'c:\test.txt'
WITH (
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)注意字段标识符随便选了一个,为“;”,没用的。
select substring(Body,4,5) fi,substring(Body,20,6) se into tt from Threads