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

发布网友 发布时间:2022-04-23 15:17

我来回答

3个回答

热心网友 时间:2022-04-08 21:03

解决方案(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)

热心网友 时间:2022-04-08 22:21

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状态

热心网友 时间:2022-04-08 23:56

可能是此 DSN 或 ODBC 数据源尝试使用 TCP/IP 套接字 Net-Library (Dbmssocn.dll) 来建立连接,但 SQL Server 不侦听 TCP/IP 套接字客户端的传入连接,所以连接失败,解决方法,抱歉,还不知道...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com