如何在SQL Server 2005中使用双引号导入数据

时间:2012-07-28 07:38:51

标签: sql-server-2005 bulk-import

我必须导入一个包含双引号的数据的文本文件。实际上我创建了一个包含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中导入这些数据吗?

2 个答案:

答案 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 INSERTFIELDTERMINATOR选项

一起使用
bulk insert [yourtablename] from 'yourfilepath' with (fieldterminator = ',')