服务器: 消息 4832,级别 16,状态 1,行 1
大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)。
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'STREAM' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'STREAM' IRowset::GetNextRows returned 0x80004005: 提供程序未给出有关错误的任何信息。]。
语句已终止。
解决方式:
由于原来服务器故障,是从原来的备份中复制过去的,可能没有注意文本的分割符变掉了,将txt-sql-ec.sql中的"FIELDTERMINATOR = ' ',"单引号中的空格改为TAB后,导入正常。
txtsql.bat
-
set r=%time%
-
set d=%date%
-
echo %d% %r% txt-sql开始导入 >>c:\txtsql\EC-import.txt
-
rar a -agYYYYMMDDHHMM -df -o+ d:\input_bak\Oracle-EC- c:\input\*.txt
-
winrar e -o+ c:\input\oracle_files.zip c:\input
-
osql -S (local) -U sa -P local -d EC -i c:\txtsql\txt-sql-ec.sql >>c:\txtsql\EC-import.txt
-
rem pause
-
set r=%time%
-
echo %r% txtsql导入完成 >>c:\txtsql\EC-import.txt
txt-sql-ec.sql
-
use [EC]
-
-
BULK INSERT mid_item
-
FROM 'C:\input\mid_cus.txt'
-
WITH (
-
FIELDTERMINATOR = ' ',
-
ROWTERMINATOR = '\n'
-
)
-
BULK INSERT mid_bom
-
FROM 'C:\input\mid_bom.txt'
-
WITH (
-
FIELDTERMINATOR = ' ',
-
ROWTERMINATOR = '\n'
-
)
-
BULK INSERT mid_cus
-
FROM 'C:\input\mid_cus.txt'
-
WITH (
-
FIELDTERMINATOR = ' ',
-
ROWTERMINATOR = '\n'
-
)
-
-
BULK INSERT mid_vdr
-
FROM 'C:\input\mid_cus.txt'
-
WITH (
-
FIELDTERMINATOR = ' ',
-
ROWTERMINATOR = '\n'
-
)
-
BULK INSERT mid_
-
FROM 'C:\input\mid_cus.txt'
-
WITH (
-
FIELDTERMINATOR = ' ',
-
ROWTERMINATOR = '\n'
-
)
-
-
delete from mid_itm where dty < (getdate()-7)
阅读(10184) | 评论(0) | 转发(3) |