我们尝试导入CSV文件,其中第一列中有这样SQL导入/创建SMILE化学结构列
c1cccc(c12)n(C)c(c2)CN(C)C(=O)c(c3)ccc(c34)NCC(=O)N(C4)C,14-BENZODIAZEPINEDERIV.4_145,1
c1cccc(c12)n(C)c(c2)CN(C)C(=O)c(c3)ccc(c34)N[[email protected]](C(=O)N(C4)C)CC(=O)OC,14-BENZODIAZEPINEDERIV.3_146,1
化学结构(笑)这是在SQL
--Define Table
CREATE TABLE Amide_actives_test
(Structure VARCHAR(40),
Name VARCHAR(40),
Active INT)
GO
--Import Data from CSV
BULK
INSERT Amide_actives_test
FROM 'C:\Amide_actives.csv'
WITH
(
FIELDTERMINATOR = ',', --CSV field delimiter
ROWTERMINATOR = '\n' --Use to shift the control to next row
)
GO
--Check the content of the table
SELECT * FROM Amide_actives_test
GO
代码
以下错误消息将弹出:
Bulk load data conversion error (truncation) for row 1, column 1 (Name).
Msg 4863, Level 16, State 1, Line 10
...repeating the previous 2 lines 10 times....
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 10
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
显然有阅读牛逼SQL的问题他是“Structure VARCHAR(40)”中的第一列。我已经尝试过所有的字符串类型(CHAR,VARCHAR.NCHAR,NVARCHAR,NTEXT,TEXT),并且它们都不起作用。
http://msdn.microsoft.com/en-us/library/ff848814.aspx
有解决这个问题的方法之一是从日光另购定制的MySQL模块。然而,1。它的成本2.不支持SQL
http://www.daylight.com/dayhtml/doc/pgsql/daycart_pg_search.html
我想知道如果任何SQL大师有SQL的解决方案?谢谢!
“结构”和“名称”的列定义长度为40个字符(“VARCHAR(40)”),但第一行的“结构”列中的数据长度为56,甚至更长的第二行 - 因此截断错误。尝试将两个列重新定义为“NVARCHAR(255)”。 – Turophile 2014-11-05 02:18:00