我必须导入一个包含双引号的数据的文本文件。实际上我创建了一个包含aix命令及其解释的文本文件。
现在命令包含双引号。因此,使用将批量数据导入SQL Server 2005的常规方法,我收到错误。
我的文字文件如下:
1,acledit "file",for changing the ACL(access control list) of a file
2,anacheck -ap,error analysing for Escala E + T
3,bsh,starts a born shell
4,cancel "print job number",for killing a print job
5,chgrp "group" "file",changes the group of a file
6,chitab "inittab statement",for disabling a statement of the /etc/inittab
7,chmod 0777 "file",gives everybody the right to read, write and execute the specified file
8,chown "user" "file",changes the owner of a file
9,compress -v "file",compresses a file
10,cplv,copies a logical volume (no mirroring)
有人可以指导我如何在SQL Server 2005中导入这些数据吗?
答案 0 :(得分:0)
您可以使用下面的函数Scalar Valued函数将其编码为其他字符并存储并在检索时对其进行解码。
CREATE FUNCTION EncodeString
(@data as varchar(max))
RETURNS varchar(max)AS
BEGIN
DECLARE @result as varchar (max)
SELECT @result = REPLACE(@data , '"','_')
RETURN @result
END
上面的函数返回输入数字1的1,acledit _file_,for changing the ACL(access control list) of a file
。你可以使用任何其他ASCII / unicode而不是_
,另外你需要编写解码函数来用于检索和搜索功能。希望这会有所帮助。
答案 1 :(得分:0)
将BULK INSERT
与FIELDTERMINATOR
选项
bulk insert [yourtablename] from 'yourfilepath' with (fieldterminator = ',')