在局域网内可以通过这样的VB代码访问SQL SERVER数据库,
str = "Driver={SQLServer};Server=192.168.1.1;Address=192.168.1.1,1433;Network=dbmssocn;Database=cf;" Uid=sa;Pwd=asdasd;"
conn.ConnectionTimeout = 5
conn.CommandTimeout = 5
conn.Open str
如果不在局域网内,需要通过互连网访问远程数据库,能实现吗?如果能,连接的代码应该怎样编写,请高手指教.

解决方案 »

  1.   

    Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库;Data Source=IP地址;Network Library=DBMSSOCN
    用这个作连接字符串试试!
      

  2.   

    谢谢小不点,我也试过了,还是不行,IP是用你上网时电信自动分配的IP地址吗?可是在局域网内每一台计算机的电信自动分配的IP地址都一样啊(比如在互连网上的IP为202,163.60.63,局域网内部IP不一样(人为设定)),不知道访问的是哪一台啊,能再详细解释一下吗?
      

  3.   

    你的IP是固定IP嗎?.
    如果是固定IP應該沒問題的.
      

  4.   

    hank212(IT民工) 说的很对!!!你的IP不是固定IP,应该不行!
    如果你有一个网站,IP是222.111.222.111,域名是www.test.com
    则IP地址部分写IP可以,写域名也可以。
      

  5.   

    应该说我的方法还是没错的,是你的IP不是固定IP原因。
    如此说来,可能你以前用的连接字符串换上对应的IP也是可以的。
      

  6.   

    我访问的远程服务器的IP不固定,远程服务器所在的局域网的IP是自动获取的,使用的IP地址是电信自动分配的这个吗?,如果远程服务器所在的局域网的IP是固定的,又应该怎么办,
      

  7.   

    我想问楼主一个问题:
    如果你在你的电脑上建一个IIS的网站,我能通过电信给你分配的非固定IP访问你的网站内容吗?不能,因为不是固定IP,除非使用其它工具软件没准可以做到。我通过你的IP只能连接你的网关或路由,无法到达你的电脑(你是虚拟的,无法找到你)
    再具体那就是网络方面的东西了,我也说不个12345。
      

  8.   

    谢谢两位高手,但是我遇到这样一个问题,远程服务器所在的在局域网的IP是固定的,他们内部通过人为设定(例如:202.168.60.63——202.168.60.100,服务器:202.168.60.63),我这里的局域网IP也是固定的(人为设定,也一样,例如:202.168.60.63——202.168.60.100),这样会出现IP重复啊,这怎么办,如果IP不固定又应该怎么办,可是在局域网内上网的电脑通过Internet查询自己的IP地址,每一台查询的结果够一样(例如:220.193.100.25),这是怎么回事,如果我用220.193.100.25这个IP, 不知道访问的是远程服务器所在的在局域网的哪一台啊。如果用他们内部设定的,又出现了重复,应该怎么办
      

  9.   

    “百度知道”中输入“什么是动态IP”、“什么是静态IP”、“什么是网关”,点搜索答案,看一下大家在网的讨论吧,虽然有时候也是各执已见,但相信还是有点收获的。
      

  10.   

    这涉及端口映射的问题 也是说你公司是通过路由上网 所以 局域网内每一台机对外的ip是一样的 但每台机的局域网ip是不同 所以 需要在路由器设置端口映射 将端口指向你局网中的服务器  设置后 外网就能访问你的内网