连接数据库失败,SQLSTATE=08001怎么解决?

 我来答
加百列windy
高粉答主

推荐于2019-08-09 · 每个回答都超有意思的
知道小有建树答主
回答量:2074
采纳率:100%
帮助的人:94.2万
展开全部

解决方案(08001错误表明无法与应用程序服务器或其他服务器建立连接):

1、查看端口号有没有配置正确,配置参数svcename跟services文件中配置的db2端口号是否一致,windows一般用50000,unix/linux一般用60000。

2、查看服务器ip 和端口是否正确。ip如果没错就要查看服务器的db2服务端口。服务器检查的配置情况如下:

(1)验证存在的DB2数据库的代码:db2 list db directory;db2 list db directory show detail。

(2)验证实例使用的通讯协议,查看DB2COMM变量:db2set -all。

(3)查看数据库管理器的配置,查看SVCENAME(特指tcpip协议):db2 get dbm cfg。

(4)查看/etc/services中,有无与上面对应SVCENAME的端口,例如:db2cDB2 50000/tcp。

(5)要确认服务器是否在监听,可以用netstat -an 来查看端口是否处于LISTEN状态。

扩展资料:

SQLSTATE=08001的原因和典型示例:

一、这种问题一般的原因。

1、DB2COMM=TCPIP。

2、数据库故障。

3、端口号被禁用。

二、典型示例。

1、客户机将新密码值发送给了不支持更改密码功能的服务器。

2、客户机将 SERVER_ENCRYPT 认证信息发送给了不支持密码加密的服务器。

3、客户机将用户标识但不带密码发送给了不支持仅通过用户标识认证的服务器。

4、客户机未指定认证类型,且服务器未用支持的类型响应。这会包括返回客户机无法从中选择的多种类型的服务器。

参考资料:

IBM文档中心--DB2 Connect 常见问题

IBM文档中心--数据访问(SQLSTATE=08001)

匿名用户
推荐于2017-10-06
展开全部
1.看看端口号有没有配置正确,看一下配置参数svcename跟services文件中配置的db2端口号是否一致,windows一般用50000,unix/linux一般用60000
2.连接出错首先看看服务器ip 和端口写对没有
ip如果没错就要看看服务器的db2服务端口对不对。另外对于服务器下面这些也要注意

检查服务器的配置情况如下:

验证存在的DB2数据库
db2 list db directory
db2 list db directory show detail
验证实例使用的通讯协议,查看DB2COMM变量
db2set -all
查看数据库管理器的配置,查看SVCENAME(特指tcpip协议)
db2 get dbm cfg
查看/etc/services中,有无与上面对应SVCENAME的端口,例如:
db2cDB2 50000/tcp

要确认服务器是否在监听,可以用netstat -an 来查看端口是否处于LISTEN状态
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-11
展开全部
可能是此 DSN 或 ODBC 数据源尝试使用 TCP/IP 套接字 Net-Library (Dbmssocn.dll) 来建立连接,但 SQL Server 不侦听 TCP/IP 套接字客户端的传入连接,所以连接失败,解决方法,抱歉,还不知道...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式