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这个文件就可以解决这个问题了。
在微软官方网站中下载。