在我的开发计算机上,我有 MS SQL Server/Visual Studio 2005。我的程序可以正确连接到我的本地数据库并使用它。但是我的另一台计算机(非开发)没有 MS SQL Server/Visual Studio 2005,也没有连接到数据库。它吐出以下内容:
“建立与服务器的连接时发生错误。当连接到 SQL Server 2005 时,此失败可能是由于在默认设置下 SQL Server 不允许远程连接。...”(错误: 26).
这是否意味着我必须在我的非开发计算机上安装 SQL Server 2005?还有其他办法吗?
我的连接字符串是:
"数据源=.\SQLEXPRESS;AttachDbFilename=\"" + 目录.GetCurrentDirectory() + "\DB.mdf\";集成安全=True;用户实例=True";
最佳答案
您的连接字符串告诉 Sql Server Native Client ADO.NET Provider 尝试连接到名为 SQLEXPRESS 的 Sql Server 实例,该实例将管理存储在文件 DB.mdf 中的数据库强>。由于您的客户端计算机没有安装 Sql Server Express,因此它不会找到要连接的数据库。
你需要:
- 在客户端计算机上安装 Sql Server 并在那里部署数据库。
- 切换到 Sql Server Compact Edition(SqlCE - 嵌入式数据库)并重新构建您的应用程序以改为使用可移植数据库文件(使用 SqlCE)。
- 放弃使用强大的数据库引擎并完全切换到 ADO.NET 数据集,将数据集的内容保存/加载到 Xml 文件(通过 WriteXml() 和 ReadXml())。如果您处理的数据量相当有限,DataSet 是保持完整性(通过强类型和定义明确的架构)和可移植性的好方法。
关于c# 连接到本地 MDF 数据库文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3596389/