通过使用特殊字符

时间:2017-04-13 13:49:12

标签: sql-server bcp

我有要导入SQL Server表的文件,我在C#中通过命令行通过BCP命令导入它,当我在格式文件中将Comma(,)作为Separator传递然后它工作正常,但是当我尝试传递Special时将此作为分隔符,然后它失败并给我以下错误。

  

XML解析:第2行,字符0,不正确的文档语法

注意:由于某些原因Stackoverflow没有显示我的特殊字符,请将格式文件复制到文本编辑器中,如notepad ++或其他。

我的格式文件如下,特殊字符。

12.0
20
1       SQLCHAR             0       0       ""      2        Column1                                            SQL_Latin1_General_CP1_CI_AS
2       SQLCHAR             0       0       ""      3        Column2                                            SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
4       SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
5       SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
6       SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
7       SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
8       SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
9       SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
10      SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
11      SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
12      SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
13      SQLCHAR             0       0       ""      7        Column4                                            SQL_Latin1_General_CP1_CI_AS
14      SQLCHAR             0       0       ""      6        Column5                                            SQL_Latin1_General_CP1_CI_AS
15      SQLCHAR             0       0       ""      5        Column6                                            SQL_Latin1_General_CP1_CI_AS
16      SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
17      SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
18      SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
19      SQLCHAR             0       0       ""      0        XyzColumnToBypass                                           ""
20      SQLCHAR             0       0       "\r\n"   0        XyzColumnToBypass                                           ""

我也尝试使用以下查询通过SQL服务器,但得到了同样的错误。

BULK INSERT mySqlServerTable   
FROM '\\machinexxx\Shared\BCP\TextfileToImport_SpecialChar.dat'
WITH(FORMATFILE = '\\machinexxx\Shared\BCP\formatfile.fmt')

我不知道为什么它将我的非XML格式文件作为xml格式文件访问,而格式文件的编码是ASCII。

0 个答案:

没有答案