在Linux上使用BCP从csv文件插入数据失败,没有输出

时间:2019-02-11 21:05:48

标签: sql-server ubuntu ubuntu-16.04 bcp msodbcsql17

我正在尝试使用通过bcp加载的msobdcsql17驱动程序从ubuntu 16.04加载.csv文件。 Linux服务器位于活动目录环境中,我正在使用用户名/密码组合访问数据。

当我运行命令时,它不加载任何文件,也没有输出。

我决定使其尽可能简单,所以这是我的示例。 (code via this site)

(SomeTable)

CREATE TABLE dbo.SomeTable
  (
    SomeTableID INT IDENTITY(1,1) NOT NULL --This is column "1"
    ColA INT --This is column "2"
    ,ColB INT --This is column "3"
    ,ColC INT --This is column "4"
  )
;

文本文件(test.csv)

Column_C,Extra,Column_A
1,2,3
4,5,6
7,8,9

格式文件(format.fmt)

14.0
3
1     SQLCHAR   0     8000     ","         4   ColC        ""
2     SQLCHAR   0     8000     ","         0   NotUsed     ""
3     SQLCHAR   0     8000     "\r\n"      2   ColA        ""

命令

bcp SomeTable in "/full/path/to/test.csv" -d DatabaseName -U"username" -P"password" -S"SERVERNAME,1432" -f"/full/path/to/format.fmt" -e error.txt

结果

[Tue 12  9:16AM]:~/
ॐ  bcp SomeTable in "/full/path/to/test.csv" -d DatabaseName -U"username" -P"password" -S"SERVERNAME,1234" -f"/full/path/to/format.fmt" -e error.txt

[Tue 12  9:16AM]:~/
♻

虽然结果什么也没显示,但是小符号的变化表明它返回了错误。

注意:我正在尝试访问一个实例(端口号1234的原因)。使用命名实例不适用于linux驱动程序,因此必须分配和使用固定端口。

我尝试过的事情:

  • 调整凭据:显示错误,表明无法使用错误的凭据登录
  • 导出格式文件:工作正常
  • 从相同的凭据/配置中转储:正常
  • 卸载所有ODBC驱动程序,然后重新安装msodbcsql17:失败,没有输出
  • 使用Sql Server ODBC驱动程序v13:失败,无输出
  • 使用XML格式的文件:失败,没有输出
  • 尝试删除格式文件并使用'-c'选项:失败,无输出

可能出什么问题的想法:

  • 它无法访问服务器上的文件:我需要在SQL框中将驱动器映射到linux服务器吗?
  • ???????????

如果有人知道如何获取一些详细输出,以便我进行故障排除或实现此目标,请帮忙...

0 个答案:

没有答案