怎么样实现局域网里VB程序对SQL的访问

连接代码如下:Public Function OpenCn()Dim mag As StringOn Error GoTo strerrmagSet conn = New ADODB.Connectionconn.ConnectionTimeout = 25conn.Provider = "sqloledb"conn.Properties("data source").Value = "10.1.13.209" ✀服务器的名字conn.Properties("initial catalog").Value = "clgl" ✀库名✀conn.Properties("integrated security").Value = "SSPI" ✀登陆类型conn.Properties("user id").Value = "sa" ✀SQL库名conn.Properties("password").Value = "1203" ✀密码✀sql = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=;Initial Catalog=pubs;Data Source=127.0.0.1"??? ✀如果不用这个模块也行可以,这一句便是常用的引擎。✀conn.ConnectionString = sqlconn.OpenOpenCn = TrueIf conn.State = 1 Then addFlag = TrueExit Functionstrerrmag: mag = "Data can✀t connect" Call MsgBox(mag, vbOKOnly, "Error:Data connect") addFlag = False Exit Function ✀连接错误消息End Function本机上用这个代码可以正常操作SQL,但我换个没装SQL机器就不能通过VB里的这段代码连接到SQL了,需要客户端配置,还是服务端配置什么。请高手指教。就是想实现局域网内客户机端通过VB程序访问服务器的SQL功能,解决加分
2026年09月22日 01:49
有4个网友回答
网友(1):

你需要检查两个地方:
1。客户机上是否安装的有VB的行库和支持文件。
这个问题你可以看程序是否崩溃,从崩溃的提示上查找对应的所需文件或库。
2。客户机和服务器的网络设置是否正常
--首先检查你的代码,是否把服务器的IP地址填写正确
--在客户端PING一下服务器,看是否能PING通。(除非服务器端防火墙禁PING)
--检查一下服务器端的防火墙,看是否打开了SQL的默认1433端口。
-----------基本这些就能解决您的问题了。

另外建议你把代码里这个函数的“错误处理”On Error GoTo strerrmag 这句先注释掉再重新编译,这样程序运行错误是,你会得到更多的错误提示,便于查找问题所在。

此分我接,在线等你回复

网友(2):

估计是那个没装sql的机器连接方式有问题
先测试是否能ping通sql服务器
然后尝试直接新建一个udl文件,测试是否能连上sql
如果能,就是程序问题;如果不能,估计是连接方式的问题,在管理工具中找到数据源(ODBC),然后新建一个系统DSN,选择sql server,在服务器中填写sql服务器地址,下一步后,重点是点客户端配置,网络库里面选择TCP/IP,然后继续填写用户名密码等,点测试成功,就可以正常访问了。

网友(3):

“Data Source=127.0.0.1"”这一句表示连接到本机的服务器上,你换个没装SQL机器当然不能连接了。

网友(4):

请确保能在其他电脑上能访问SQL Server。