SQL Express连接字符串hell ASP.Net

SQL Express连接字符串hell ASP.Net,asp.net,connection-string,database-connection,sql-server-express,Asp.net,Connection String,Database Connection,Sql Server Express,SQL Express 2005正在本地运行。我有一个由另一个人在同一台机器上运行的项目。我只想连接到它,不会那么难吧 这是我在旧的经典ASP代码中用来访问同一实例上运行的另一个数据库的代码: Provider=SQLOLEDB;数据源=MYLAPTOP\MSSMLBIZ;持久安全信息=True;用户ID=TestUser;密码=letmein;初始目录=TestDB 但是尝试一个版本会使.net代码在他使用SQLServer驱动程序编写代码时出现抖动,因此它不喜欢提供程序的东西 以下是他的代码

SQL Express 2005正在本地运行。我有一个由另一个人在同一台机器上运行的项目。我只想连接到它,不会那么难吧

这是我在旧的经典ASP代码中用来访问同一实例上运行的另一个数据库的代码:

Provider=SQLOLEDB;数据源=MYLAPTOP\MSSMLBIZ;持久安全信息=True;用户ID=TestUser;密码=letmein;初始目录=TestDB

但是尝试一个版本会使.net代码在他使用SQLServer驱动程序编写代码时出现抖动,因此它不喜欢提供程序的东西

以下是他的代码中的原始连接字符串:

服务器=(本地);初始目录=数据库;用户Id=用户;密码=密码

我去过并尝试了其中的几个选项,这些选项都得到了“SQL Server不存在或访问被拒绝”(这是一条多么可爱的混合错误消息!)

  • 数据源=本地主机;综合安全=真实;初始目录=数据库
  • 数据源=localhost\SQLEXPRESS;综合安全=真实;初始目录=数据库
  • 数据源=MyLaptop\SQLEXPRESS;综合安全=真实;初始目录=数据库
  • Server=MyLaptop\SQLEXPRESS;初始目录=数据库;用户Id=用户;密码=密码
我已经在SQL Express中为MyLaptop/IUSR_MyLaptop、MyLaptop/ASPNET、MyLaptop/IWAM_MyLaptop创建了登录名,并为它们授予了对my DB的所有读/写权限,并将它们的默认DB设置为数据库

我到底做错了什么?我该如何进一步调试这个问题


更新:特别感谢Chris的指点,他终于做到了,如果您有类似的问题,请阅读所有评论,其中有许多关于如何查找它们的链接和提示。

您的数据源是否也应该阅读:Data Source=localhost\sqlexpress?

您没有提到授予“用户”访问服务器上数据库的权限-如果您是从另一台服务器还原的,您可能有一个sid不匹配

试着跑步

sp\u更新用户登录“报告”

反对争议裁决委员会

如果它在报告中返回用户帐户,请尝试:

sp\u update\u users\u登录“update\u one”、“theuser”、“theuser”


要重新映射内容。

在注释中显示该错误消息后,您应该在


我假定该实例正在运行,并且允许通过tcpip进行连接?

您能确切地告知配置中的内容吗

是否使用块-在这种情况下,有效的连接字符串将是:

<add name="connection" providerName="System.Data.SqlClient" connectionString="Data Source=localhost\MSSMLBIZ;Initial Catalog=TheDatabase;Integrated Security=True" />



或者您是否从应用程序设置中获取连接字符串?在这种情况下,我猜您的提供商是在应用程序本身的代码中设置的?

尝试了该字符串,并在上面添加了它。这可能是一个愚蠢的问题,但您尝试连接到的sql express服务器的实际实例名称是什么?是localhost\sqlexpress还是其他什么?将应用程序从等式中删除,只需在命令提示符下执行'sqlcmd-S servername\instancename-E'尝试通过sqlcmd连接到sql,然后查看它是否连接。该实例实际上名为MSSMLBIZ,但为了清晰起见,将其保留为SQLExpress。尝试了上述操作并获得以下结果:SQL网络接口:定位指定的服务器/实例时出错[xFFFFFFFF]。Sqlcmd:错误:Microsoft SQL本机客户端:建立与服务器的连接时出错。连接到SQL Server 2005时,此故障可能是因为在默认设置下,SQL Server不允许远程连接。。Sqlcmd:错误:Microsoft SQL本机客户端:登录超时已过期。签入服务器配置并打开所有配置?将尝试重新安装以尝试重置所有配置并重新启动…重新安装是一个猪!感谢本文提供的帮助,以防其他人在Win XP SP2上出现“SQL Server无法启动”错误:我似乎没有可用的存储过程?Msg 2812,级别16,状态62,第1行找不到存储过程“sp_更新用户登录”。抱歉-应该是sp_更改用户登录。。。但是如果你连一个基本的服务器连接都没有的话,这可能是不相关的。好吧,我想只有一个条目,一个是开发者运行数据库时的条目。不是我的。我确实恢复了数据库,但后来又添加了我的用户。Chris,这份报告告诉了我什么?这将告诉您不匹配的用户,即服务器上用户的sid与数据库中的sid不匹配。在服务器之间移动dbs时的常见问题。如果报告中的内容不是您试图连接的用户名,则忽略它。现在阅读该文章,下载PortQry。是的,实例正在运行,根据我所阅读和看到的,它“应该”允许tcpip。禁用动态端口并将其设置为始终使用1434。如果在本地运行,我需要它吗?不-如果在本地连接,这应该无关紧要,但是您遇到了一些奇怪的情况-您目前如何管理服务器。SSMS?是否使用windows或sql登录进行连接?在Configuration Manager中,检查客户端配置,查看为连接启用了哪些协议以及它们的应用顺序。是,使用Microsoft sql Server Management Studio Express和windows登录进行连接。很好。此外,我还通过将动态端口设置为0再次打开了动态端口,并将tcpip端口更改为1433,我认为这是正确的(根据我所读的内容,1434用于SQL浏览器)。在一分钟内提供更多信息…是使用-E开关(windows身份验证)的吗?现在,您可以尝试使用sqlcmd-S localhost\mssmlbiz-U username-P password来验证您是否可以使用您认为应该能够使用的凭据登录。app settings是它的.Net版本1(由于托管位置的限制)。重新安装也不顺利…有一天…也谢谢你的帮助,克里斯,非常感谢,DB安装正在进行中
<add name="connection" providerName="System.Data.SqlClient" connectionString="Data Source=localhost\MSSMLBIZ;Initial Catalog=TheDatabase;Integrated Security=False;User Id=TheUser;Password=ThePassword;Application Name=AppName;" />