
解决方案(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)
不能连接数据库的产生原因有两种,一种是数据库没有启动好,二是登录数据库的权限问题,另外还有一种sql2005以后才有的远程连接模式(仅限本地连接或者本地和远程连接,并且连接模式是tcp/ip 、named pipes)。第一种可以在服务里面看看MSSQLSERVER服务的运行状态,如果是启用就说明正常;第二种在登录的时在数据库本机上,登录时选择windwos身份验证看能不能登录,如果能说明数据库用户名密码错误。第三种在服务和连接外围应用配置器里面设置为同时使用TCP/IP和named pipes就可以了
一、数据库引擎没有启动
有两种启动方式:
(1)开始->程序->Microsoft SQL Server 2008->SQL Server
2008外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database
Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;
(2)可打开:开始->程序->Microsoft SQL Server 2008->配置工具->SQL Server
Configuration Manager,选中SQL Server 2008服务中SQL Server(MSSQLSERVER)
,并单击工具栏中的"启动服务"按钮把服务状态改为启动;
使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL Server
2008配置管理器"中的SQL Server
2008网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止然后再执行上述一种方式 *** 作就可以了。
二、进行远程连接时,是否已允许远程连接
SQL Server 2008 在默认情况下仅限本地连接我们可以手动启用远程连接在上面第一种方式中,找到Database
Engine,单击"远程连接",在右侧将"仅限本地连接(L)"改为"本地连接和远程连接(R)",并选中"同时使用TCP/IP和named
pipes(B)"
三、如果是远程连接,则还要查看连接数据库的语句是否正确,登录账户是否正确,密码是否正确等
由以下几个原因:
1数据库引擎没有启动
有两种启动方式:
(1)开始->程序->Microsoft SQL Server 2008->SQL Server 2008外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;
(2)可打开:开始->程序->Microsoft SQL Server 2008->配置工具->SQL Server Configuration Manager,选中SQL Server 2008服务中SQL Server(MSSQLSERVER) ,并单击工具栏中的"启动服务"按钮把服务状态改为启动;
使用上面两种方式时,有时候在启动的时候可能会出现错误[/b],不能启动,这时就要查看"SQL Server 2008配置管理器"中的SQL Server 2008网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止然后再执行上述一种方式 *** 作就可以了。
2进行远程连接时,是否已允许远程连接
SQL Server 2008 在默认情况下仅限本地连接我们可以手动启用远程连接在上面第一种方式中,找到Database Engine,单击"远程连接",在右侧将"仅限本地连接(L)"改为"本地连接和远程连接(R)",并选中"同时使用TCP/IP和named pipes(B)"
3如果是远程连接,则还要查看连接数据库的语句是否正确,登录账户是否正确,密码是否正确等
我在一次局域网内连接数据库时,就要因为连接字符串出了问题,在局域网内一台机子连接另一台机子上数据库时,把Data Source=装有数据库的另一台机子的IP我在连接数据库时总是出现上面的错误,查了好长时间,后来发现,IP没有正确到传到连接字符串,原来我在连接时,使用的是本地,即127001,输入的IP没有传到连接字符串
以上就是关于连接数据库失败,SQLSTATE=08001怎么解决全部的内容,包括:连接数据库失败,SQLSTATE=08001怎么解决、不能连接到数据库错误登录不正确、链接数据库失败怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)