<%@ Page language="c#" Debug="true"%>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>
<script runat="server" language="c#">
void Page_Load(){
 string strConnection="server=(local); uid=sa;pwd=sa;database=pubs";
 SqlConnection objConnection = new SqlConnection(strConnection);
 objConnection.Open();
 SqlCommand objCommand1 = new SqlCommand("select * from jobs",objConnection);
 dgrdMain.DataSource = objCommand1.ExecuteReader();
 dgrdMain.DataBind();
 objConnection.Close();
}
</script>上段代码中,server=(local)的时候,一切正常,
当我把local改成IP地址的时候,如:server=(192.168.1.2)    (此IP为本机IP)  
就会报出错误
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)源错误: 
行 6:   string strConnection="server=(192.168.1.2); uid=sa;pwd=sa;database=pubs";
行 7:   SqlConnection objConnection = new SqlConnection(strConnection);
行 8:   objConnection.Open();
行 9:   SqlCommand objCommand1 = new SqlCommand("select * from jobs",objConnection);
行 10:  dgrdMain.DataSource = objCommand1.ExecuteReader();
 源文件: c:\Inetpub\wwwroot\SQL.aspx    行: 8 我安的是SQL2000啊,根本没有2005求高手指教

解决方案 »

  1.   

    sqlserver 外围配置打开tcp/ip服务
      

  2.   

    192.168.1.2应该是互联网标识的IP
    用到这个
    你的项目会尝试连接远程数据库你用192.168.0.1试试
    这个是默认的本机IP
      

  3.   

    默认的本机IP不是127.0.0.1么?我的是办公局域网,我的机器IP就是192.168.1.2啊,我换了192.168.0.1照样还是错误
    sqlserver 外围的TCP/IP服务怎么打开啊?
      

  4.   

    开始--Sqlsever-sql配置,应该是这里
      

  5.   

    你用的是不是VS2005阿?它自带了一个Express版的sql server 2005,察看一下Sql server 2000的设置是否正常,像端口号什么的。
      

  6.   

    刚把SQL的外围服务 TCP/IP开了机器也重起了,还是错误要疯掉了我的确安VS2005了,需要修改SQL2000的配置么?
      

  7.   

    这东西真无敌了SQL2000的开放端口1433正常开放,杀毒软件,防火墙全关仍然报错
      

  8.   

    不要加括号=。=!!比如
    server=127.0.0.1
      

  9.   

    最好用server=.
    .就代表本地的
      

  10.   

    你在创建连接时数据原用SQL server,再找到SQL server2000的服务器名输进去,然后选者你要连的数据库就行了~~
      

  11.   

    你把server=你注册SQL的用户名就可以了,我原来也是这样的情况,换了就可以了
      

  12.   

    不要使用SQL server数据库文件,用这个连接它会先去访问自带的SQL server2005,也就出现错误提示了~~
      

  13.   

    我想连SQL2000不使用SQLserver数据库文件的话,我怎么连SQL2000啊?
      

  14.   

    15楼和16楼的兄弟谢谢啊,不加括号就好使了万分感谢<%@ Page language="c#" Debug="true"% > 
    <%@ Import Namespace="System.Data"% > 
    <%@ Import Namespace="System.Data.SqlClient"% > 
    <script runat="server" language="c#" > 
    void Page_Load(){ 
     string strConnection="server= 192.168.1.2; uid=sa;pwd=sa;database=pubs"; 
     SqlConnection objConnection = new SqlConnection(strConnection); 
     objConnection.Open(); 
     SqlCommand objCommand1 = new SqlCommand("select * from jobs",objConnection); 
     dgrdMain.DataSource = objCommand1.ExecuteReader(); 
     dgrdMain.DataBind(); 
     objConnection.Close(); 

    </script > 代码正常了明天发分
      

  15.   

    本机 测试一般用 (local), 用 127.0.0.1 或是 192.168.1.2 有时侯 会出错
      

  16.   

    我也到过这个问题?
    我的解决办法就是:
        vs2005中自带的有SQL SERVER2005的组件,其实,在连接SQL SERVER 2000的时候,系统默认到SQL SERVER2005中去了。
    只要你下载一个SQL SERVER2005的一个安装包。下载SQLServer2005_SSMSEE.msi这个文件就可以解决这个问题了。
    在微软官方网站中下载。
      

  17.   

    string strConnection="server=(192.168.1.2); uid=sa;pwd=sa;database=pubs"; 
    这里去掉括号即:string strConnection="server=192.168.1.2; uid=sa;pwd=sa;database=pubs"; 
      

  18.   

    今天又看到VS2008了,HOHO,一会下个试用版的弄弄不过VS的网站做的是真漂亮啊,FLASH达人啊