asp.net网站发布后无法连接sql2005数据库,调试的时候可以,没有找到原因,请帮忙,谢谢

fsdsws 2009-02-03 11:27:10
我出现的情况是这样的:

服务器192.168.1.254上安装了两个sql数据库,sql2000和sql2005,

web.config的连接字符串配置是

<add key="ConnectString" value="server=192.168.1.254; uid=sa;pwd=winning;database=TechAppointmentCenter; persist security info=False"/>
这个是sql2000的;

<add key="HisConnectString" value="server=192.168.1.254\HIS; uid=sa;pwd=winning;database=THIS4; persist security info=False"/>
这个192.168.1.254\HIS是sql2005的数据库,HIS是实例名

asp.net网站调试的时候能连接上,
发布后就无法连接sql2000数据库,
不知道是sql2005数据库设置的原因,
还是iis的原因,因为调试的时候没有使用iis,发布后使用iis访问时不能访问数据库.
请指点一下,多谢!



下面是出错的日志.

2009-2-3 11:14:24-- HIS数据服务/ 查询HIS病人列表 GetTableHisPatientList(string PatType, string PatName, string DeptCode, string WardCode, string BedNo, string StartDate, string EndDate, string NoteCode, string CodeType)
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup)
在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.SqlClient.SqlConnection.Open()
在 DataAccess.SqlDataAccess.PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, String cmdText, SqlParameter[] cmdParms) 位置 D:\company\100 .NET\040 RIS\20 预约中心\02 源代码\TechAppointmentCenter\DataAccess\SqlDataAccess.cs:行号 234
在 DataAccess.SqlDataAccess.GetDataTable(String connString, CommandType cmdType, String cmdText, SqlParameter[] cmdParms) 位置 D:\company\100 .NET\040 RIS\20 预约中心\02 源代码\TechAppointmentCenter\DataAccess\SqlDataAccess.cs:行号 167
在 His.Service.HisDataService.GetTableHisPatientList(String PatType, String PatName, String DeptCode, String WardCode, String BedNo, String StartDate, String EndDate) 位置 D:\源代码\TechAppointmentCenter\HisService\HisDataService.cs:行号 95

...全文
1161 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Forrest23 2011-08-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 fsdsws 的回复:]

是端口和自定义实例名的问题,谢谢各位!马上结贴
[/Quote]
啥意思?能说清楚点不 我也遇到这个问题
fsdsws 2009-02-04
  • 打赏
  • 举报
回复
是端口和自定义实例名的问题,谢谢各位!马上结贴
qas1234 2009-02-03
  • 打赏
  • 举报
回复
数据库设置的原因,与IIS无关
wanghao3616 2009-02-03
  • 打赏
  • 举报
回复
给2005的数据库添加一个新登陆用户
还有2005的链接字符串和2000的不同
<add key="HisConnectString" value="DataSource192.168.1.254\HIS;Initial Catalog=THIS4;User ID=sa;Password=winning;persist security info=False"/>
lianhui1122 2009-02-03
  • 打赏
  • 举报
回复
看下sql 的配置是否允许使用IP地址连接;
可以换下端口连接,如二楼说的
lianhui1122 2009-02-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wanghao3616 的回复:]
2005数据库默认不能用sa用户连接
[/Quote]
能用sa连接
zming 2009-02-03
  • 打赏
  • 举报
回复
基本上与IIS无关,与SQL Server的配置相关,请检查SQL Server 2000/2005中远程连接的配置:

1. 命名管道 使用机器名连接数据库时需要使用命名管道
2. TCP/IP 使用IP地址连接数据库时需要使用TCP/IP
3. TCP/IP 的服务端口, 你的机器上安装了两个数据库 SQL Server 默认端口为 1433
不知道这个端口是由 SQL Server 2000 占用还是由 SQL Server 2005 占用
4. 当SQL Server使用了非1433端口提供服务时,在连接字符串中需要指定端口号,如:
Server=192.168.0.1:2866\SQLExpress

wanghao3616 2009-02-03
  • 打赏
  • 举报
回复
2005数据库默认不能用sa用户连接
fsdsws 2009-02-03
  • 打赏
  • 举报
回复
谢谢,
我都试了,改设置了,
调试的时候可以连接上sql2005数据库,
还是不可以在asp.net网站的发布后连接上数据库.
我再找找原因再结贴
walkghost 2009-02-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mzr_cj 的回复:]
端口问题,其中一个占用的是默认端口,而另一个要指定端口号.
[/Quote]
应该是端口问题,不知道你有没有吧2k和2k5的端口设置好。。。
mzr_cj 2009-02-03
  • 打赏
  • 举报
回复
端口问题,其中一个占用的是默认端口,而另一个要指定端口号.

62,073

社区成员

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

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

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

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