BCP语法问题(第2页)

时间:2016-11-16 15:50:02

标签: sql-server batch-file cmd bcp

我正在尝试执行一个非常简单的SQL select查询来存档,因为它位于SQL Express中托管的没有SSIS的第三方供应商数据库上。

我写了选择查询&经过测试,这在SSMS中运行完全没有任何问题。

我有一个噩梦,但试图让BCP在命令提示符下运行。我尝试从我的本地计算机上运行,​​在网络驱动器上运行,甚至将.bat文件添加到SQL服务器的tools / binn目录中,如同在线其他地方所建议的那样。

我现在得到的错误很快就会闪现,所以我必须在关闭cmd窗口之前抓一个快速截图,如下所示:

Command Line Issue

我还尝试从服务器上的计划任务运行,但这会在服务器错误日志中生成不同的错误代码。

这是更广泛项目的最后一部分。我对.bat文件没有多少经验,所以任何建议都会非常感激。

bat文件如下所示(用XX替换密码 - 请原谅长查询。我需要创建一个具有确切数量的部分的文件,以便导入第三方系统以便工作,这样可以轻松计算添加的数字字段)。

BCP "SET NOCOUNT ON; SELECT '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + [sender_reference] + '|' + '|' + '|' + '|' + (REPLACE(CONVERT(CHAR(15), manifest_dt, 103),' ',' - ')) + '|'  + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + '|' + [airwaybill_num] + '|' + '|' + '|' + '|' + '|' + '|'FROM airwaybills_history WHERE manifest_dt between (SELECT Convert(DateTime, DATEDIFF(DAY, 0, GETDATE()))) and (GETDATE()) + '23:59:59''" QUERYOUT \\carrier\test-file\test.OUT -S CARRIER\DHLEASYSHIP -U xx  -P xx -c 

1 个答案:

答案 0 :(得分:0)

我刚刚在我的测试平台上运行了以下内容而没有任何问题。创建了一个C:\Temp\queryout.bat,其中包含以下内容(全部在一行上):

BCP "SELECT*FROM INFORMATION_SCHEMA.TABLES" QUERYOUT "C:\temp\inf_schema.out" -S my_server\my_instance -T -c -d my_database

它使用-T,对您来说是-U xx -P yy。还有my_...,你知道如何处理这些。

这对你有用吗?如果是这样,你可以修改它以查看它是否适合你。如果没有,有什么错误?

此外,如果您希望能够真正看到错误,请从cmd.exe运行此内容。