Ani*_*wal 7 sql t-sql sql-server excel bulkinsert
我在尝试批量插入时遇到错误:
BULK INSERT #tbl_InterCompanyUploadDetail_Staging
FROM '\\SVRP03546008461D\QA\UploadTemplatewithvalidation.xlsx'
WITH (FIRSTROW = 6, FIELDTERMINATOR ='\t', ROWTERMINATOR ='\\n' )
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
第6行第2行(Oracle公司代码)的批量加载数据转换错误(截断).
Excel中的列的数据为470,数据库列中的列为varchar(10).那可能是错误的原因.
BULK INSERT可能无法使用xlsx文件,尝试将.xlsx文件转换为.csv文件来实现此目的(使用BULK INSERT)
尝试使用OPENROWSET提供Microsoft.ACE.OLEDB.12.0者:
Insert into <rawdatatable>
select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=D:\SSIS\FileToLoad.xlsx;HDR=YES',
'SELECT * FROM [Sheet1$]')
Run Code Online (Sandbox Code Playgroud)
要么
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0; Database=D:\Desktop\Data.xlsx', [Sheet1$]);
Run Code Online (Sandbox Code Playgroud)
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
'Data Source=D:\Desktop\Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$];
Run Code Online (Sandbox Code Playgroud)