+ -
当前位置:首页 → 问答吧 → VB 如何用ODBC、OLEDB的方式连入局域网中的SQL Server数据库

VB 如何用ODBC、OLEDB的方式连入局域网中的SQL Server数据库

时间:2011-02-12

来源:互联网

下面是我的两个连接代码,在本机测试通过,但是在用别的机器连的时候,就报错了,请高手帮分析以下
"Provider=SQLOLEDB.1;Password=SQ851113;Persist Security Info=True;User ID=YGDA_USER;Initial Catalog=员工资料;Data Source= 192.168.111.165"
"PROVIDER=MSDASQL;DRIVER={SQL SERVER};  UID=YGDA_USER;PWD=SQ851113;DATABASE=员工资料;SERVER=192.168.111.165"

作者: oyzhjr   发布时间: 2011-02-12

错误代码都不发一个。猜不到。

作者: ah2005   发布时间: 2011-02-12

最有可能就是权限问题。还有身份验证问题。,本机SQLSERVER端口是否打开。服务器SQL端口设置等等
默认一般是1733端口,杀软是否封了。。
防火墙是否阻挡。。
对方是否为固定IP,要不然关路由器下次就变了。

[ 本帖最后由 ah2005 于 2011-2-12 11:12 编辑 ]

作者: ah2005   发布时间: 2011-02-12

区域网的计算机可以连接,但是查 询后无法返回结果。

作者: oyzhjr   发布时间: 2011-02-12

编辑UDL文件进行连接也可以连上

作者: oyzhjr   发布时间: 2011-02-12

把代码都发上来嘛。

作者: ah2005   发布时间: 2011-02-12

你ON ERROR RESUME NEXT了吧,
让他报错看下大致原因啊,

作者: ah2005   发布时间: 2011-02-12

Const LJ_1 = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=SA;Initial Catalog=员工资料;Data Source="
Const LJ_2 = "PROVIDER=MSDASQL;DRIVER={SQL SERVER};DATABASE=员工资料;SERVER="

Private Sub Command1_Click()
Dim lj_temp As String
If Option1.Value Then lj_temp = LJ_1 & Text2.Text
If Option2.Value Then lj_temp = LJ_2 & Text2.Text
With Adodc1
    .ConnectionString = lj_temp
    .RecordSource = Text1.Text
    .Refresh
End With
MsgBox "OK"
End Sub

其中Text2 用来输入IP地址。

作者: oyzhjr   发布时间: 2011-02-12

你的Adodc1的连接错了,连接字符串都没得。
参考我的。。
With Adodc1
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\cdtest.mdb;Persist Security Info=False"
.CommandType = adCmdText
.RecordSource = "select * from 基础信息"
.Refresh
End With

作者: ah2005   发布时间: 2011-02-12

热门下载

更多