无法连接远程SQL数据库[ 2007-08-13 14:18:23 | 作者: TanSea ]
故障情况描述:
有16台工作站用机,6台用的铁通ADSL网络,10台用的电信ADSL网络,其中2台装的是Windows2003系统。其它的都是WindowsXP系统。用C#开发的WinForm连接远程SQL数据库时,有4台机器连不上。铁通有2台,电信有2台,都是WindowsXP系统。 故障分析: 1、由于SQL服务器是在远程租用的空间,他们那边也没有出现连接数据库失败的问题,所以排除掉了是服务器的故障。 2、4台无法连接的机器都是XP系统,但还有10台也是XP系统,如果是系统和软件冲突,那另外10台XP系统也应该连不上。看来系统问题也不是关键问题。 3、铁通、电信各2台连不上服务器,很明显也不是网络运营商的问题。 4、在这4台机器上删除掉网络防火墙,同样也连上不服务器,网络防火墙的问题也排除掉了。而且能连上服务器的也装有网络防火墙。 5、4台机器上都查杀过病毒,并非病毒的问题。 解决故障尝试: 1、重装系统,一般故障想到的就是重装系统。而且重装系统之后故障机器也能连上数据库。但过几天后又连接不上了。很明显,不是系统的故障。 2、在故障机器上装SQL客户端,测试连接本地数据库。SQL客户端装好之后,马上就能连上远程服务器了,故障貌视解决掉了。但是过了几天,又连不上服务器了。后来卸载掉SQL客户端马上又能连上了,但也用不了几天。装SQL不能从根本上解决问题。 3、听同学说ORACLE要连远程数据库要装个驱动,所以尝试装SQL数据库的驱动,但是通过了解Windows已经装有SQL的驱动了。而且重装驱动故障机器还是连不上服务器,可见也不是SQL驱动的问题。 4、尝试端口,SQL常用端口为1433,在故障机器上用端口检测软件发觉是连的2433端口。而正常机器连的是1433端口。故障原因找到了。 故障解决办法: 通过查看WinForm程序,发现他的连接字符串只有IP,没有端口号的设置,所以将“Server=127.0.0.1;DataBase=testBase;User ID=sa;Password=sa”换成“Data Source=127.0.0.1,1433;Network Library=DBMSSOCN;Initial Catalog=testBase;User ID=sa;Password=sa”,问题得到了完美的解决。 工作总结: 1、连接数据库必需都装有相应数据库的驱动,只是SQL的驱动Windows系统已经装好了。 2、虽然都是连接SQL数据库,但本地和远程连接方法是有区别的。 [最后修改由 TanSea, 于 2007-09-05 22:47:59]
|
|