所用的服务器是win2003+SQL2005商业版,用ASP远程连接服务器SQL2005数据库提示错误:
未找到提供程序。该程序可能未正确安装。
已按以下操作开放了SQL2005的远程连接:
1、开启sql2005远程连接功能:
确保服务器端的数据库是支持远程调用的.打开SQL Server Management Studio,选择该数据库,右键菜单"Properties",在打开的对话框中选择Connections,把Allow remote connections to this server选上.确保服务器端的SQL服务的TCP/IP是Enable的.打开SQL Server Configuration Manager. 选择SQL Server 2005 Network Configuration下的Protocols for SQL2005( 我安装的SQL示例名为SQL2005), 把Named Pipes和TCP/IP都修改为Enabled,默认是Disabled.着重参考了:
http://www.cnblogs.com/VitoriaTang/archive/2007/02/06/641731.html
http://support.microsoft.com/kb/914277
http://blog.csdn.net/bejco/archive/2007/01/13/1481803.aspx
仍没解决问题,请教各位老大帮忙!

解决方案 »

  1.   

    SQL Server 外围应用配置器—服务和连接外围配置—database englie—远程连接—启用(远程连接的TCP/IP和named pipes)
    SQL Server Configuration Manager—SQL2005网络配置—启用TCP/IP和named pipes
    ---------
    windows防火墙\系统sp1
    --------
    以上方法排除
      

  2.   

    我用ASP连接远程服务器SQL2005数据库的连接串:
    connstr =  "Provider=SQLNCLI.1;Persist Security Info=False;Server=(IP地址);User ID=***;Password=***;Initial Catalog=***;"
    我试过在服务器上通过IIS建了个网站用一样的ASP连接串就能正常访问,但在本地远程连接数据库时不能访问,出现以上的错误。我认为问题就出现在远程上的问题,连接串应该没有问题。
      

  3.   

    既然在服务器上用相同的连接字符串能连就可以排除SqlServer不能远程连接的问题因为使用IP地址连接,即时是在同一台服务器上面SqlServer也会认为是远程连接所以问题应该不在ASP和SqlServer ,可能是防火墙之类的问题了,在本地ping服务器上的1433端口看看
      

  4.   

    SQL Server 2005 远程连接配置TCP/IP属性. 
    Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT 
      

  5.   

    hb_gx兄台说的有一定道理。我查了防火墙,1433端口早就开放而且已经用上了,而且确定服务器上的SQL2005数据库用的肯定是默认端口1433。
    我在服务器用netstat -a监听跟踪,发现我在本地访问服务器上建的网站时就能监听到我本地的IP,但用我访问本地连接服务器数据库的网站时,在服务器上就监听不到我本地的IP,难道还是我远程连接串的问题?
    在服务器上的网站和本地的网站所用一样的ASP数据库连接串:
    connstr =  "Provider=SQLNCLI.1;Persist Security Info=False;Server=(IP地址);User ID=***;Password=***;Initial Catalog=***;" 
      

  6.   

    在连接串里我试过:
    Provider=SQLNCLI;

    Server=(IP地址)\SQLEXPRESS;

    Server=(IP地址)\SQLEXPRESS,1433;

    Server=(IP地址),1433;

    Persist Security Info=True;
    仍是没有办法连接上服务器上的SQL2005数据库。
    这SQL2005远程连接的问题都困了我好几天了!晕啊!
      

  7.   

    经常多次在服务器用netstat -a监听跟踪,发现这个命令监听东西太多显示比较慢而已,我访问本地连接服务器数据库的网站时,在服务器上还是可以正常监听到。看起来连接串没有问题,还是服务器上的问题。
    求助还有哪位达人给见解啊。
      

  8.   

    本地安装SQL Server 2005的Native client了吗?
      

  9.   

    问题终于解决了!
    就是连接串的问题:
    connstr =  "Provider=SQLOLEDB.1;Persist Security Info=False;Server=(IP);UID=***;PWD=***;Database=***;"
    竟然是用SQL2000的连接串成功了,可我连接的是SQL2005的数据库。
    关键就在Provider上的不同。
    难道是因为我本地是SQL2000的原因?想不明白。
    谢谢各位的帮助,结贴
      

  10.   

    慕白兄(非常十分以及极其怀念旧版论坛)  原来是 .net 的
      

  11.   

    看来就是因为没有安装2005的Native Client。