因程序编写需要,急需解决VB 数据库远程(通过Internet)访问难点,之前在网上找到过很多类似的提问,但是均只能解决本地局域网内访问,未能解决通过Internet访问,先我讲我的SQL访问程序断写出,请各位高手专家指点迷津,小弟不胜感激!
Public Function OpenCn(ByVal Cip As String, ByVal users As String, ByVal pw As String) As Boolean '连接模块 填写数据库等信息
Dim mag As String
On Error GoTo strerrmag
Set conn = New adodb.Connection
conn.ConnectionTimeout = 25
conn.Provider = "sqloledb"
conn.Properties("data source").Value = Cip '服务器的名字
conn.Properties("initial catalog").Value = "test" '库名
conn.Properties("user id").Value = users 'SQL登录用户名
conn.Properties("password").Value = pw '密码
conn.Open
OpenCn = True
If conn.State = 1 Then addFlag = True
Exit Function
strerrmag:
mag = "Data can't connect"
Call MsgBox(mag, vbOKOnly, "Error:Data connect")
addFlag = False
Exit Function '连接错误消息
End Function以上程序段是网上参考修改的,局域网内测试没有问题,但是访问外网的IP的时候就不行,请各位高手专家指点迷津。
情况说明:所谓外网IP测试的时候是在同一局域网内另外一台电脑是装了“花生壳”软件动态域名解析而来,局域网的路由器特定端口指定已设好。
Public Function OpenCn(ByVal Cip As String, ByVal users As String, ByVal pw As String) As Boolean '连接模块 填写数据库等信息
Dim mag As String
On Error GoTo strerrmag
Set conn = New adodb.Connection
conn.ConnectionTimeout = 25
conn.Provider = "sqloledb"
conn.Properties("data source").Value = Cip '服务器的名字
conn.Properties("initial catalog").Value = "test" '库名
conn.Properties("user id").Value = users 'SQL登录用户名
conn.Properties("password").Value = pw '密码
conn.Open
OpenCn = True
If conn.State = 1 Then addFlag = True
Exit Function
strerrmag:
mag = "Data can't connect"
Call MsgBox(mag, vbOKOnly, "Error:Data connect")
addFlag = False
Exit Function '连接错误消息
End Function以上程序段是网上参考修改的,局域网内测试没有问题,但是访问外网的IP的时候就不行,请各位高手专家指点迷津。
情况说明:所谓外网IP测试的时候是在同一局域网内另外一台电脑是装了“花生壳”软件动态域名解析而来,局域网的路由器特定端口指定已设好。
解决方案 »
- 如何使应用程序永远在最前端
- 如何在通过远程计算机的用户名和密码验证之后访问共享目录中的Access数据库?(没有通过验证则不能访问)
- struts如何连接数据库,能否将连接数据库单独做个类
- 关于文件关联后应该处理的问题!急!
- 如何在程序中实现SQL查询分析器的效果
- 16进制问题
- 在VB中如何获得一个GUID?
- VB用treeview显示Access数据表中的字段数据问题,困惑死我了
- 急!急!急!请问是程序有问题还是机器内存不够?(在线等待)
- jisheng,进来拿分!
- Treeview+mousemove事件中子节点没有被正确识别问题,请熟悉Treeview的高手进来指点。谢谢!
- 专家们帮我看看这句话吧,谢谢了
除非单机用Modem直连,就可以连接!你可以试试建立一个ODBC数据源(控制面板—管理工具—数据源(ODBC))
改成ODBC数据源的名字在ODBC中配置的时候,服务器输入花生壳的域名(即xxxxx.vicp.net)
在局域网内PC上装花生壳是不能用的
必须在路由器上设置花生壳信息(如果路由器不支持,建议升级路由器或更换路由器)
然后将局域网内服务器作为DMZ主机,在路由器中配置。
这样就OK了。