我正在尝试使用通过 bcp 加载的 msobdcsql17 驱动程序从 ubuntu 16.04 加载 .csv 文件。Linux 服务器位于活动目录环境中,我使用用户名/密码组合来访问数据。
当我运行该命令时,它不会加载任何文件,也不会提供任何输出。
我决定让它尽可能简单,所以这是我的例子。 (通过本网站代码)
表(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 服务器吗?
- ??????????
如果有人知道如何获得一些详细的输出以便我可以进行故障排除或实现这一点,我会很乐意帮助......