1

我是第一次开发 C# windows 应用程序。

Que 1 - ) 我已经开发了我的 Windows 应用程序,它使用 SQL Server 2008 使用下面的连接字符串..

Data Source=myMachineName;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

但是当我创建我的应用程序的设置并将其安装到另一台计算机时,它会抛出无法与 SQL 服务器建立连接的错误。

我猜这个错误是因为我的连接字符串,因为它特定于我的计算机并且将它安装到另一台计算机将无法正常工作..

因此,我怎样才能使我的连接字符串适用于任何计算机..

Que 2 - 我是否需要在我的设置中附加模式文件作为我的数据库将如何创建到其他计算机中?

这可能是愚蠢的问题,但因为我第一次这样做,我不知道这一切。

在此处输入图像描述

问候, 马赫什

4

2 回答 2

2

您应该将 Web 配置放在 xml 格式的 app.config 文件中。并从您的代码中读取它。您可以根据机器通过记事本轻松更改 app.config 文件。

是的,如果要从设置中创建模式脚本,则必须在设置中设置模式脚本。否则,您将在客户端计算机上创建数据库手册。

于 2012-08-23T08:59:04.970 回答
1

如果您在开发计算机上使用过 SQL Server,则必须在将使用您的应用程序的每台计算机上安装它。有几个选项可以解决此问题:

如果您的应用不需要访问中央 sql 服务器(例如,您的应用只跟踪用户 DVD),请改用 SQL Server Compact Edition 并将其嵌入到您的应用中

如果您的应用需要某种集中式数据,请先获取一个专用的 SQL 服务器,在那里安装您需要的一切,然后在您的应用中将您当前的 myServerAddress 更改为服务器的地址。请注意,服务器需要可从远程位置访问(有些限制对本地主机的访问!)。

Que 2 - 我是否需要在我的设置中附加架构文件作为我的数据库将如何创建到其他计算机中?

再次,多种选择。例如,您可以将数据库导出为 .sql 文件(右键单击数据库资源管理器中的 db 并选择 option Publish to provider),然后在其他计算机上使用 sql 管理器将其导入。或者,也许您可​​以创建一个 .cs 安装脚本,该脚本将使用 C# 代码完成相同的工作。

根据 OP 的评论进行编辑:

解决方案的示例链接:

问题 1:在安装程序中嵌入 SQLServer CE 问题 2:http: //support.microsoft.com/kb/307283

好的,但我当前的连接字符串会在这种情况下工作,因为 DataSource 是我的特定机器名称

当然不是,您必须将其更改为指向 SQL Server CE 数据库文件。可能最好的方法是不对其进行硬编码,而是使用数据库的相对路径。例如,它看起来像这样:

Data Source=|DataDirectory|\MyDb.sdf,其中|DataDirectory|指向App_Data您的应用程序的文件夹。

另请参阅我附有问题的错误屏幕图..

您的错误很清楚 - 建立与您的数据库的连接时出现问题。它要么不存在,要么无法从您当前的机器访问。

于 2012-08-23T08:58:06.127 回答