0

我一直在 Linux 上做一些 Sybase 的东西,并且 bcp in's 和 out 工作得很好。这是我在 linux 上的工作 bcp:

bcp drd02.dbo.APPL_ENVIRONMENT out APPL_ENVIRONMENT.bcp -U sa -P SyAdmin  -n

在 Windows 中尝试相同操作时,出现以下错误:

ct_connect():网络数据包层:内部网络库错误:连接两个端点的 Net-Lib 协议驱动程序调用失败

这里有一些相关的细节:

我可以通过 iSQL GUI 连接到我的服务器。它显示为 Sybase157 0.0.0.0 5000 并且我的 Drd02 数据库在线且可用。

c:\sybase\ini\sql.ini 的内容是(我添加了 drd02 行):

[Sybase157_XP]
master=NLWNSCK,0.0.0.0,5001
query=NLWNSCK,0.0.0.0,5001
drd02=NLWNSCK,0.0.0.0,5001

[Sybase157]
master=NLWNSCK,0.0.0.0,5000
query=NLWNSCK,0.0.0.0,5000
drd02=NLWNSCK,0.0.0.0,5000

[Sybase157_JSAGENT]
master=NLWNSCK,0.0.0.0,4900
query=NLWNSCK,0.0.0.0,4900

环境变量是:

%DSQUERY%=Sybase157
%SYBASE%=c:\Sybase

无论我尝试什么,它只是没有连接。我很乐意提供任何帮助。

4

1 回答 1

0

我想到了。我可以使用 IP 地址进入 isql 的事实让我认为 Bcp 可能无法使用 0.0.0.0。

我用以下内容修改了 c:\sybase\ini\sql.ini:

从:

[Sybase157]
master=NLWNSCK,0.0.0.0,5000
query=NLWNSCK,0.0.0.0,5000
drd02=NLWNSCK,0.0.0.0,5000

至:

[Sybase157]
master=NLWNSCK,123.123.123.123,5000
query=NLWNSCK,0.0.0.0,5000
drd02=NLWNSCK,0.0.0.0,5000

将我的 vm 的公共 IP 地址放入 sql.ini 后,bcp 能够正确地与它对话。

我应该提到这只是使其工作的一次性修复,进行此更改可能会弄乱与数据库的外部连接。您需要一个环回适配器或其他东西才能使这项工作正常进行。

于 2013-11-12T17:44:36.737 回答