日期:2014-05-18  浏览次数:20720 次

100分求教 C#连接SQL2000却报连接2005错误
<%@ 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

求高手指教

------解决方案--------------------
你用的是VS 2005吧?
------解决方案--------------------
开始--Sqlsever-sql配置,应该是这里
------解决方案--------------------
不要加括号=。=!!比如
server=127.0.0.1
------解决方案--------------------
最好用server=.
.就代表本地的
------解决方案--------------------
本机 测试一般用 (local), 用 127.0.0.1 或是 192.168.1.2 有时侯 会出错


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