
首先你要确定下是什么数据库,比如说oracle、还是mysql、还是sqlserver。不同的数据库连接失败的原因不一样。
其次,你要详细描述下连接失败的具体情况或截图。以ORACLE数据库为例,问题可能存在于客户端或者数据库服务端。
按照我说的方法进行逐一检查吧:
客户端:
①检查tnsnameora配置是否准确
②ping服务器IP是否通,telnet ip:1521端口是否通
服务端:
①检查数据库是否启动
②lsnrctl status 看监听是否启动
③看数据库防火墙及selinux是否关闭
上面只是简单的判断连接失败的办法,需要具体原因具体分析。打了补丁后服务器无法连接数据库 *** 作方法如下:
1首先确认数据库是不是正常启动了。
2安装不匹配数据库和软件连不上。
3卸掉sql清除干净注册表,重新安装sql,最好用完整版,不要使用msde。
4杀毒软件误杀数据库文件,卸掉杀毒软件,在管理里面启动下数据库,看能否启动,如果还能启动。再启动速达看能否连接上。
5如果数据库已经无法启动,将数据作出备份,重装数据库吧。
6如果是本机连接没问题,其他连不上的话,关闭服务器和客户端window自带防火墙,数据库打sp4补丁,开启guest用户。
由以下几个原因:
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没有传到连接字符串
1、最简单的方法是:在查询分析器中之执行语句:execsp_who
利用这个系统存储过程可以看到当前服务器上数据库的连接情况。
sp_who这个系统存储过程,经过查资料将常用的发一下,可以看看:
列出全部当前进程不带参数直接执行execsp_who列出的是全部,可以大体了解情况,执行结果演示:
spidecidstatusloginamehostnameblkdbnamecmd
------------------------------------------------
10backgroundsa0pubsLAZYWRITER
注意:blk的状态参数的意思是这个0(成功)或1(失败)
列出特定用户的进程,更具有针对性:execsp_who'west263'
假定当前数据库用户为west263,可以更清楚看出这个数据库连接信息。
2、用企业管理器界面也可以查信息
SQL2000:进入企业管理器,管理——当前活动——进程信息
SQL2005:进入managerstudio,展开对象管理器,管理——右键“活动监视器”——查看进程
SQL2008:进放managerstudio在菜单栏下面有一行图标,点击最后一个图标“活动监视器”,进入活动监视器的界面后,点击“进程”
3,用netstat-an命令,这个主要是查看1433的连接状态。
注:部分用户考虑安全修改了这个端口,不一定是1433。可以到mssql的网络工具tcp/ip协议那个地方进行端口查看
数据库连接失败的原因有很多种情况:1,数据库的本地服务没打开。
2,用户名或密码输入有误。
3,端口不正确。
4,你所连接的服务器IP不正常(可以在程序运行那儿ping试一下)。
5,权限问题。测试连接数据库不成功,在保证连接服务器设置对话框内各项内容填写正确的条件下。1般出现毛病提示的缘由有以下几种情况:1、首先看服务器电脑有无关闭WINDOWS防火墙或瑞星的防火墙2、局域网不通局域网不通就是局域网内各电脑间没有到达不需要用户名和密码的访问,就是不能相互访问同享文件,可以通过计算机间能否相互访问同享文件来判断局域网是不是畅通。方法在“网上邻居”的地址栏中输入“\\”加上要访问计算机的“记算机名称或是本地ip地址”然后链接(例如\\19216801),可以访问说明局域网畅通3、数据库服务没有启动如果是数据库没有运行,软件测试连接一样也会出现毛病提示。可以在开始菜单------程序----启动------ServiceManager或是在开始菜单----运行----输入cmd------回车-----在出现黑屏界面的光标处输入netstartMSSQLSERVER----回车如果出现提示为“要求的服务器已启动”,说明数据库已在运行了;“服务名无效”说明输入的命令不正确;“没法启动数据库服务“说明数据库文件被破坏或是其他缘由造成数据库服务没法启动。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)