热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ASP.NET、IIS上,连接SQLServer失败,请大家帮忙分析一下好吗

开发环境:winXPIIS5.1,VS2008,ASP.net,windows2008,SQLSERVER2008(IIS和SQLServer在分别在两台机器上)※在域内开发,也就
开发环境: winXP IIS5.1,VS2008, ASP.net,windows 2008, SQL SERVER2008  (IIS和SQLServer在分别在两台机器上)
※在域内开发,也就是说,两台机器都加入了域。

代码大致:把DB中某个表中的数据个数取出(select count(*) from TableA),显示到画面。
在VS2008开发环境中可以正常连接DB,但是发布到IIS中后,在连接(openDB)数据库的时候,出现以下错误。
用的连接的认证方式是windows认证(Integrated Security=SSPI;),SQL SERVER2008的认证设置是混合认证。
cOnnectionString="Server=XXX\SQLSERVER2008;Initial Catalog=AAAMaster;Integrated Security=SSPI; Persist Security Info=False;Connect Timeout=40;

用SQL Server认证方式也连接失败。

System.Data.SqlClient.SqlException: SQL Server への接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。 (provider: 名前付きパイプ プロバイダ, error: 40 - SQL Server への接続を開けませんでした)

错误信息的意思是,
确立对服务器的连接的时候错误发生了。如果连接到SQL Server 2005 的时候时候这个错误发生了,有SQL Server 的既定的设定不变得准许远程连接的事作为错误的原因的可能性。 (没开对provider:名字附着管子 服务提供商, error:40- SQL Server 的连接) 


通过下面的代码,可以判断当前的用户名。
this.LabelUser.Text = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

IIS环境和VS2008环境,访问web时用的用户名是不一样的。
VS2008:  域名/域用户
IIS环境:   winxp的computer名/APNET

在SQLSERVER上,有一个セキュリティ(安全) >> ログイン(登陆)
可以在这里添加用户,目前已经添加了我的域用户了,所以,在VS2008上,可以访问数据库。
但是没有添加我的ASPNET用户,所以不能被SQLServer认证,所以连接数据库失败。
怎么往SQLSERVER添加我的机器的ASPNET用户呢??????????


寻找正在学习SilverLight的朋友!!!
msn:lixing2002115@hotmail.com

11 个解决方案

#1


日文版? 厉害

#2


需要在数据库服务器上启用 SQL Browse服务。另外,数据库的端口设置检查是否正确,并且没有被防火墙阻止

#3


命名管道提供程序, error: 40 - 无法打开到SQL Server 的连接
使用windows和sql server混合认证
在远程连接里,同时使用TCP/IP和named Pipes,重启SQLserver服务
防火墙是否阻止了端口
启动SQL Server Browser服务

#4


SQL Server 的TCP/IP服务禁止的,打开它重启就行了

#5


引用 1 楼 lovexilove 的回复:
日文版? 厉害


干的是对日的开发。

#6


纠正错误
IIS环境:   winxp的computer名/APNET 
                                 ↓↓↓
                                 ASPNET  

#7


lz需要好好补习一下ASP.NET impersonation和delegation。

http://msdn.microsoft.com/en-us/library/ms998351.aspx

#8


各位大侠,今天我一一试试你们的建议。先谢谢了啊

#9


引用 2 楼 net_lover 的回复:
需要在数据库服务器上启用 SQL Browse服务。另外,数据库的端口设置检查是否正确,并且没有被防火墙阻止


我刚才把windows防火墙设置为无效(就是关闭防火墙吧。我用的是日文系统,中文系统是什么我忘了),
可以连接数据库了,并取出数据了。
也就是说,我的防火墙没有设置好。

另外,我的数据库服务器的Sql Server Configuration Manager中的SQL Server Browser服务是实行中状态,
已经启用了。

#10


嗯!

#11


汇报结果

先说一句,感谢各位给我这么多建议,非常的谢谢啊。

各位给我的建议我没有都试,现在已经有2个方法可以连接数据库了。
解决办法1:
    这好像叫伪装,第一次听说。
  在 Web.config 的System.web 标签里设置以下的内容
          userName="domain\username"
          password=""/>
用户名和密码就用Windows登陆域帐户就可以了。

解决办法2:
     http://msdn.microsoft.com/ja-jp/library/ms175043.aspx
  ① [Windows ファイアウォール] ダイアログ ボックスで、[例外] タブをクリックし、[プログラムの追加] をクリックします。
  ② [参照] をクリックし、ファイアウォール経由でアクセスする SQL Server のインスタンスに移動して、[開く] をクリックします。既定では、SQL Server は C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Sqlservr.ex にあります。
  ③ [OK] を 2 回クリックし、Windows ファイアウォール プログラムを閉じます。
    

目前已经在XP的机器(找了一台做数据库服务器)上,试验成功。我马上找项目经理汇报,看看采用那个方案。

推荐阅读
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • Python学习day3网络基础之网络协议篇
    一、互联网协议连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列网络协议。二、为什么要有互联网协议互联网协议就相当于计 ... [详细]
  • 本文介绍了如何在 Spring Boot 项目中使用 spring-boot-starter-quartz 组件实现定时任务,并将 cron 表达式存储在数据库中,以便动态调整任务执行频率。 ... [详细]
  • Nacos 0.3 数据持久化详解与实践
    本文详细介绍了如何将 Nacos 0.3 的数据持久化到 MySQL 数据库,并提供了具体的步骤和注意事项。 ... [详细]
  • EST:西湖大学鞠峰组污水厂病原菌与土著反硝化细菌是多重抗生素耐药基因的活跃表达者...
    点击蓝字关注我们编译:祝新宇校稿:鞠峰、袁凌论文ID原名:PathogenicandIndigenousDenitrifyingBacte ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 本文详细介绍了如何在Linux系统中使用nslookup命令查询DNS服务器地址,这对于Linux服务器的运维管理是非常重要的基础知识。 ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
  • 在将Web服务器和MySQL服务器分离的情况下,是否需要在Web服务器上安装MySQL?如果安装了MySQL,如何解决PHP连接MySQL服务器时出现的连接失败问题? ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
author-avatar
手机用户2602919547
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有