0

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

4

2 回答 2

0

您可以使用如下所示的函数标量值函数将其编码为其他字符并存储它并在检索时对其进行解码。

    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,acledit _file_,for changing the ACL(access control list) of a file您输入的数字 1。您可以使用任何其他 ASCII/unicode 代替_,另外您需要编写解码函数以用于检索和搜索功能。希望这会有所帮助。

于 2012-07-28T08:35:00.133 回答
0

BULK INSERTFIELDTERMINATOR选项一起使用

bulk insert [yourtablename] from 'yourfilepath' with (fieldterminator = ',')
于 2012-07-28T08:59:01.800 回答