SQL Express 2005 在本地运行。我有一个由另一个人编写的项目在同一台机器上运行。我想做的就是连接到它,不会那么难吧?
这是我在旧的经典 ASP 代码中使用的代码来访问在同一实例上运行的另一个数据库:
提供程序=SQLOLEDB;数据源=MYLAPTOP\MSSMLBIZ;持久安全信息=True;用户ID=TestUser;密码=letmein;初始目录=TestDB
但是尝试一个版本会使 .net 代码出现不稳定,因为他是使用 SQLServer 驱动程序编写的,因此它不喜欢 Provider 的东西。
这是他的代码中的原始连接字符串:
服务器=(本地);初始目录=数据库;用户ID=用户;密码=密码;
我去过http://www.connectionstrings.com/sql-server-2005 http://www.connectionstrings.com/sql-server-2005并尝试了其中的几个选项,这些选项都得到“SQL Server不存在或访问被拒绝”(这是多么可爱的混合错误消息啊!):
- 数据源 = localhost;集成安全性 = True;初始目录 = TheDatabase
- 数据源=localhost\SQLEXPRESS;集成安全性=True;初始目录=TheDatabase
- 数据源=MyLaptop\SQLEXPRESS;集成安全性=True;初始目录=TheDatabase
- 服务器=MyLaptop\SQLEXPRESS;初始目录=TheDatabase;用户ID=TheUser;密码=ThePassword;
我在 SQL Express 中为 MyLaptop/IUSR_MyLaptop、MyLaptop/ASPNET、MyLaptop/IWAM_MyLaptop 创建了登录名,并授予它们对我的数据库的所有读/写权限,并将其默认数据库设置为 TheDatabase。
我到底做错了什么以及如何进一步调试问题?
更新:特别感谢克里斯的所有指点,最后到达那里,如果您遇到类似的问题,请阅读所有评论,其中有很多关于如何追踪它们的链接和提示。
您能具体说明配置中的内容吗?
您是否使用该块 - 在这种情况下,有效的连接字符串将是:
<add name="connection" providerName="System.Data.SqlClient" connectionString="Data Source=localhost\MSSMLBIZ;Initial Catalog=TheDatabase;Integrated Security=True" />
or
<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;" />
或者您是否从应用程序设置中获取连接字符串 - 在这种情况下,我猜您的提供程序是在应用程序本身内部的代码中设置的?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)