我想将数据从文本文件导入SQL Server 2008.我已经使用MySQL(Call MySQL stored procedure with parameter from batch file)完成了这项工作。我需要批量执行此操作。
到目前为止我的SQL Server代码
INSERT [pce].[dbo].[tlb_pce_actual]
([ElementId], [TargetDateTime], [CurrValue],[FolderDate],[FileDateTime],[FileName],[FolderPath],[ProcessDateTime])
SELECT
BulkLoadFile.[IMPORTID],
BulkLoadFile.[DT],
[FolderDate] ='2014-05-19 00:00:00',
[FileDateTime] ='2014-05-20 13:12:25',
BulkLoadFile.[READING],
[FileName]='CONSO_PCE_20140519_20140520_131225.csv',
[FolderPath]='C:\Users\adminbi2\Downloads\Dsg_pce_raw_file\20140519',
[ProcessDateTime]='2014-05-20 13:12:25'
FROM
OPENROWSET (BULK 'C:\Users\********\Downloads\Dsg_pce_raw_file\20140519\CONSO_PCE_20140519_20140520_131225.csv',SINGLE_BLOB) AS BulkLoadFile
来自SQL Server的错误消息
Msg 207,Level 16,State 1,Line 4
列名称“IMPORTID”无效。Msg 207,Level 16,State 1,Line 5
列名称'DT'无效。Msg 207,Level 16,State 1,Line 8
列名称“READING”无效。
IMPORTID
,DT
和READING
是我文件的第一行。
这是我的文本文件的第一行
IMPORTID;DT;READING
A12250I2;19/05/2014 06:00;7,181
我需要这个(从mySQL)到SQL Server
FIELDS TERMINATED BY ";"
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(@var1, @var2, @var3)
SET ElementId=@var1, TargetDateTime=!!, CurrValue = REPLACE(@var3, ',', '.'), DataType='Actual', `TargetDate``TargetDateFolder``ComputeDateTime``ForcastValue``TargetFolder`;
关于批次
Calling MySQL
SET MYSQL_EXE="C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe"
SET DB_USER=****
SET DB_PWD=***
SET DB=***
CALL %MYSQL_EXE% --user=%DB_USER% --password=%DB_PWD% --database=%DB% < C:\Users\7642FH\Local\fileTest.sql
SQL Server是否相同?
你有任何信息吗?
提前致谢