IIS无法连接远程XP系统中的SQL数据库

lhl8198 2014-12-04 12:05:24
在自己的电脑中,使用VS开发网站,点击“启用调试”按钮,能够远程连接XP系统中的SQL数据库。
但是,部署到自己电脑的 IIS 中,却不能远程连接XP系统中的SQL数据库,错误提示如下:

用户 'lhl' 登录失败。原因: 未与信任 SQL Server 连接相关联。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 用户 'lhl' 登录失败。原因: 未与信任 SQL Server 连接相关联。

源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:
[SqlException (0x80131904): 用户 'lhl' 登录失败。原因: 未与信任 SQL Server 连接相关联。]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +6256377
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +245
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1099
System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +53
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +248
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +6271242
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +6271208
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +354
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +703
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +54
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +6272472
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +81
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1657
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +88
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +6275911
System.Data.SqlClient.SqlConnection.Open() +258
_Default.Page_Load(Object sender, EventArgs e) +68
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +42
System.Web.UI.Control.OnLoad(EventArgs e) +132
System.Web.UI.Control.LoadRecursive() +66
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428

--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.5420; ASP.NET 版本:2.0.50727.5420



aspx文件内容:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>


cs文件内容如下:

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strconn = "server=172.16.110.3;uid=lhl;pwd=lhl900;database=ooasimcoah";
SqlConnection conn = new SqlConnection(strconn);
conn.Open();
SqlCommand comm = new SqlCommand("select top 10 empcode, c_name from employee1", conn);
GridView1.DataSource = comm.ExecuteReader();
GridView1.DataBind();
}
}


环境:

自己电脑:win7-64 + iis + vs2008

远程电脑:xp + SQL2000


跪请各位大侠帮忙,急急急!






...全文
285 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhl8198 2014-12-08
  • 打赏
  • 举报
回复
非常感谢 #9 的提示,不愧是大侠。这个问题困扰我好长时间了,现在终于得到解决。谢谢 #9 使用setup.bat是无法安装SP4的 先停止服务,然后直接将c:\sql2ksp4\x86\binn目录里的文件和文件夹复制到 C:\Program Files\Microsoft SQL Server\MSSQL\Binn 文件夹中,覆盖,然后重启电脑,就OK了
threenewbee 2014-12-05
  • 打赏
  • 举报
回复
和防火墙没关系,是账户的问题,另外,SQL Server 2000有BUG,需要安装SP4。
「已注销」 2014-12-05
  • 打赏
  • 举报
回复
把你代码中的sql登录名先换成sa再发布试试,另外跟踪下你的电脑和服务器之间的网络。 还有检查下你的SQL2000的端口,确认是否选择身份验证为“SQL Server和 Windows ” 服务器的连接操作最好不要写的这么少
lhl8198 2014-12-05
  • 打赏
  • 举报
回复
XP的SQL 验证模式原先就是混合模式 我电脑是win7,使用查询分析器连接xp中的sql,是使用sa连接的,连接正常 本机vs调试正常(能连接xp中的数据库),但是,发布到本机的IIS站点上,就不能连接xp中的数据库了,提示: 用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
James(Wood) 2014-12-05
  • 打赏
  • 举报
回复
将你XP的SQL 数据库由Windows验证模式设为混合模式试试。
James(Wood) 2014-12-05
  • 打赏
  • 举报
回复
将你XP的SQL 数据库由Windows验证模式设为混合模式试试。
lhl8198 2014-12-05
  • 打赏
  • 举报
回复
我电脑中的查询分析器能够连接到XP电脑中的SQL
lhl8198 2014-12-05
  • 打赏
  • 举报
回复
SQL账号、密码,都正确 目标服务器的防火墙已经关闭、杀毒软件也关闭了 还是不行
天空丶蒋 2014-12-05
  • 打赏
  • 举报
回复
一,确保SQL账号密码正确 二,确保目标服务器的电脑防火墙关闭
lhl8198 2014-12-04
  • 打赏
  • 举报
回复
忘记说了: IIS能够连接远程win2003系统中的SQL数据库

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧