未知计算机的 C# WinForms SQL Server Express(本地数据库)连接字符串

Posted

技术标签:

【中文标题】未知计算机的 C# WinForms SQL Server Express(本地数据库)连接字符串【英文标题】:C# WinForms SQL Server Express (Local Database) connectionString for unknown computer 【发布时间】:2014-01-19 19:37:19 【问题描述】:

我有一个连接到 SQL Server 数据库的 WinForms 应用程序。我使用以下连接字符串

data source=MyPC\SQLEXPRESS;initial catalog=MyDB; trusted_connection=true;

问题是,我需要为应用程序创建一个安装程序,但我不知道目标计算机的名称。如何定义我的连接字符串,以便它可以在安装了应用程序的任何计算机上运行?

感谢您的帮助。

【问题讨论】:

您使用哪个工具来创建安装程序? 使用 "data source=.; 它将获取安装在目标计算机上的任何默认 SQL Server 实例。如果您确定实例名称为 'SQLEXPRESS; 然后 "data source=.\ SQLEXPRESS" 其他选项是嵌入式数据库,如 SQL Compact Edition。 @Kashif 是的,我几乎可以肯定它会是 SQLEXPRESS(我会再问一个)。谢谢,会在我妈妈的笔记本电脑上试试,因为她还没有安装任何东西:D @Steve 我可能会使用 SharpDevelop 4.4,因为我认为 Visual Express 不允许我创建安装程序 如果目标机器没有安装 SQL Express,那么它将无法工作。这就是我要告诉你的。如果您不确定您的用户是否会安装 SQL Express 或任何其他 SQL Server 实例,那么您必须使用嵌入式数据库(SQLite、SQL Compact Edition),并且如果您可以要求(强制)您的用户安装任何SQL Server 然后使用此连接字符串来提及实例名称。顺便说一句,我相信你妈妈的电脑不会有 SQL Server,直到/除非她像 Julie Lerman -:) 【参考方案1】:

我仍然没有发表评论的特权,所以我发帖作为答案。

在数据源中使用“本地主机”就可以了 所以你的连接字符串会是这样的:

connectionString="data source=localhost\SQLEXPRESS;initial catalog=MyDB; trusted_connection=true;"

【讨论】:

以上是关于未知计算机的 C# WinForms SQL Server Express(本地数据库)连接字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用 c# winforms 将数据更新/保存到 SQL 数据库表

C# WinForms - DataGridView/SQL Compact - 主键列中的负整数

C# WinForms - SQL Server Compact Edition:不支持关键字:初始目录

Winforms:如何使用 C# 将图片上传到 SQL Server 数据库

如何根据 c# winforms 中的列日期和名称将 sql 中的数据输入到特定的 datagridview 单元格中

c# winforms如何保存用户输入的数据