我一直在Linux上做一些Sybase的东西,有bcp in和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
无论我尝试什么,都只是没有连接。我很乐意为您提供任何帮助。
答案 0 :(得分:0)
我明白了。我可以通过IP地址进入isql这一事实让我觉得可能0.0.0.0在某种程度上不适用于Bcp。
我用以下内容修改了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能够正确地说出来。
我应该提到这只是一次性修复以使其工作,使得此更改可能会破坏与db的外部连接。您需要一个环回适配器或其他东西才能使其正常工作。