用AODConnection进行数据库连接。一台工作站(win98第二版),如果是连接局域网内服务器的数据库就正常,但是如果连接远程的数据
库(通过internet)连接就出现:[DBNMPNTW]拒绝访问   问题,数据库是一样的。
    同时还有一种问题也存在:我的机器作数据库服务器,同时也上网。在这台服务器上用局域网IP,进行ADO连接成功,用Internet的IP连接
也成功。在局域网内的任一台计算机(win2000的操作系统)如果用局域网IP成功,用Internet的IP连接就出现  
[DBNETIB][ConnectionOpen(Connect()).]SQL Server 不存在或拒绝访问。   错误。在这台机器上安装了ADO,最后装了delphi6问题也一样。ADOConnection1.Active:=False;
ConnectionString=Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Data Source=XX.XXX.XX.XX;Initial Catalog=ticket
ADOConnection1.Active:=True;
服务器在Internet的IP为XX.XXX.XX.XX   局域网内的机器不行,服务器本机行
局域网内的IP为200.100.100.1          都行

解决方案 »

  1.   

    我觉得通过internet连接可能是动态ip不固定的问题
      

  2.   

    如果是通过局域网或者猫拨号上网,他的IP是自动分配的,每次都不一样,你如果通过internet连接必须先获得目标机的当前IP,才设定连接字符串啊
      

  3.   

    其他机器能否Ping通internet上的服务器IP啊?如果可以ping通,你尝试一下把超时改长一点,多连接几次,不过我以前也做过,都失败告终了,因为连接internet上的sql服务器很不稳定,建议你做成那种伪三层架构,也就是客户端连接服务端,服务端把客户端的数据请求向数据库提交,再把结果反给客户端
      

  4.   

    你的服务器在互联网上的IP和在局域网上的IP是不一样的。
      

  5.   

    你的错误与无关,是其中的query打开了。
    与AODConnection无关只是所以ADOQUERY不要设置打开,AODConnection连接后才open!!
      

  6.   

    当局域网与internet同时存在在一台机器上时,系统会自动从高速的局域网中进行数据传递(我可不是瞎说,有实践经验的),如果你将局域网的网线拔掉,问题就会在出现的
    其实根本问题在于你所使用的数据库连接控件,AODConnection使用在局域网的数据款连接已经是极限了,应该使用Miads之类的控件才对(的Delphi6.0以后好像有新的叫法,不过换汤不换药),具体的你可以找写书来看看
      

  7.   

    对啊,ping通是前提哦,ping不通的话你就要想办法ping通!
    我再试试 ...
      

  8.   

    可以ping通过,也可以访问服务器上的网页。
      

  9.   

    用如:DRIVER=SQL SERVER;SERVER=XXX。XXX。XXX。XXX;UID=SA;PWD=;DATASOURCE=XXXXX;应该可以,以前我用VB也出现过上述问题,试试
      

  10.   

    用odbc配置一下数据库连接,看一下是不是连接选项被定为命名管道了。如果是的话,改为tcp/ip连接