nmgwddj 发表于 2012-10-19 13:05:45

个别系统环境下连接SQLServer数据库失败的一个案例

前一阵子给我朋友做了个工具,在我机器上用着好好的,到了他那里就各种报错,后来检查根本原因是因为数据库没有连接上。导致中间的变量为空出错。

但是我们都在一个内网,连接的都是相同的SQLServer服务器,为什么我能连他不能连?我们唯一的区别就是我的系统是win7、他的系统是xp。找了其他的xp系统测试了一下,的确也是用不了。又找了台win8的系统跟win7一样是可以连的,现在锁定问题到系统上,翻来覆去的搞了一段时间,一直没有结果。

正好今天我们运营的同志们需要使用这个工具,而他那里也运行不起来,实在不行了,就看了一下open数据库时的返回值,看看到底是因为什么连接不上的。这一看返回值不要紧,发现就加了一条语句,不能连接的机器竟然能连接上了。非常奇怪…………代码如下:

连接不上的代码:

Global $Server = "192.168.3.157\SQLEXPRESS" ;SQL主机名称
Global $ID = "sa" ; 登入数据库主机的账号一般都会用sa
Global $pw = "1365664****" ;登入数据库主机的密码
Global $DataName = "Data" ;数据库名称

$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open("driver={SQL Server};server=" & $Server & ";uid=" & $ID & ";pwd=" & $pw & ";database=" & $DataName)

$RS.ActiveConnection = $conn


可以连接上的代码:

Global $Server = "192.168.3.157\SQLEXPRESS" ;SQL主机名称
Global $ID = "sa" ; 登入数据库主机的账号一般都会用sa
Global $pw = "1365664****" ;登入数据库主机的密码
Global $DataName = "Data" ;数据库名称
If Not @error Then
        MsgBox(0, '', '连接数据库成功')
Else
        MsgBox(0, '', '连接数据库失败')
        Exit
EndIf
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open("driver={SQL Server};server=" & $Server & ";uid=" & $ID & ";pwd=" & $pw & ";database=" & $DataName)

$RS.ActiveConnection = $conn

kk_lee69 发表于 2012-10-19 14:10:47

本帖最后由 kk_lee69 于 2012-10-19 14:11 编辑

回复 1# nmgwddj

我個人覺得不是 加了那語法的問題吧.....

而且 加在那邊怪怪的吧都還沒連接 怎麼會有錯誤 可以判斷有沒有連線成功??

另外請教.......

$Server = "192.168.3.157\SQLEXPRESS" ;SQL主机名称

為何主機名稱 還有路徑??主機名稱 不就是一個名稱 或者 IP 嗎??
能不能改成.... $Server = "192.168.3.157"

這樣就好 去連接呢是看看是不是就都可以用了

nmgwddj 发表于 2012-10-19 14:29:06

回复 2# kk_lee69


    就说后面的\SQLEXPRESS是SQLServer一个学习版,其实一台机器可以装专业版、学习版等好几个版本。如果装了多个版本就需要这个实例名来连接了。我测试去掉这个实例名是连接不上的。

    @error错误的问题,在连接失败的时候的确@error=1,成功@error=0

破帽遮颜 发表于 2012-10-20 00:19:14

学习一下~看看啥事

yeqing880 发表于 2012-10-20 01:48:00

server 就用ip就可以了

drunk 发表于 2012-10-20 01:57:45

是不是之前有什么错误未清空啊?

xms77 发表于 2012-10-20 06:43:30

回复 3# nmgwddj
数据库的问题都是很怪异的,你那个@error的判断语句在那个位置能行?
另外能否帮我看看我的数据库问题http://www.autoitx.com/thread-35528-1-1.html
谢谢了!

nmgwddj 发表于 2012-10-20 22:41:39

回复 6# drunk


    之前没什么代码的。就声明了几个变量。
页: [1]
查看完整版本: 个别系统环境下连接SQLServer数据库失败的一个案例