我有台服务器,用SQL Server Management Studio 方式连接,既能远程连接别的服务器上数据库,别的服务器也能通过SQL Server Management Studio连接上这台服务器,但通过WEB方式,却既不能连接外面的数据库,外面服务器也不能连接这台服务器的数据库。如果用“(local)”自已连接自己的数据库,则WEB方式可以成功。防火墙、杀毒软件都已经关闭,端口也全打开了。WEB方式的连接代码:Dim StrServer,StrUid,StrSaPwd,StrDbName
StrServer="192.168.1.111"
StrUid="sa"
StrSaPwd="123456"
StrDbName="pubs"Dim Conn
Dim StrDSN
StrDSN="Provider='SQLOLEDB';Data Source='"&StrServer&"';Initial Catalog='"&StrDbName&"';User ID='"&StrUid&"';Password='"&StrSaPwd&"';Network Library='dbmssocn';"set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open StrDSN
Conn.CursorLocation=3

解决方案 »

  1.   

    http://blog.csdn.net/fredrickhu/archive/2009/09/20/4573228.aspx
      

  2.   

    加上端口试试
    Provider=sqloledb;Network Library=DBMSSOCN;Initial Catalog=Studentinfo;User ID=sa;Password=;Data Source=172.16.137.45,1059
    or
    provider=SQLOLEDB.1;Initial Catalog=StudentInfo;User ID=sa;Password= ;Data Source=172.16.137.45,1059
      

  3.   

    常见故障(a)
    Microsoft OLE DB Provider for ODBC Drivers 过错 '80040e57' 
    [Microsoft][ODBC SQL Server Driver][SQL Server]String or binary data would be truncated.这是由于数据库表中字段的字节数太小了。(b)
    出错提醒:
    Microsoft OLE DB Provider for ODBC Drivers 过错 '80040e57' [Microsoft][ODBC SQL Server Driver][SQL Server]Arithmetic overflow error for data type smallint, value = 32768. 
    是由于字段的类型是smallint太小了应改成int.(c)
    icrosoft OLE DB Provider for ODBC Drivers 过错 '80040e4d' [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'user78'. /index333.asp,行30
    数据库的用户名或密码不对.(d)
    Microsoft OLE DB Provider for ODBC Drivers 差错 '80004005' [Microsoft][ODBC 驱动程序 管理器] 未发明数据源名称并且未指定默认驱动程序 /include/conn.asp,行3 
    这种现象的原由是:1.web服务器没有准确设置数据源,
    须要您提供主机名和数据库IP地址,发信件到LIVEPERSON ,为您在服务器上树立数据源,方能正常调用。本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fredrickhu/archive/2009/09/20/4573228.aspx
      

  4.   


    SQL Server Browser没有启动?
      

  5.   

    SQL Server Browser启动了也要加端口1433,不加不行。