Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在运行时生成连接字符串,并在c windows应用程序中保存相同的应用程序设置_C#_Windows_Deploying - Fatal编程技术网

C# 在运行时生成连接字符串,并在c windows应用程序中保存相同的应用程序设置

C# 在运行时生成连接字符串,并在c windows应用程序中保存相同的应用程序设置,c#,windows,deploying,C#,Windows,Deploying,我正在使用SQLServer2005和VisualStudio2008构建一个C-windows应用程序。 在客户端计算机上部署应用程序。我是按这个顺序做的 我安装sql server 2005时使用的是我在应用程序中创建的相同用户/密码ie sa/密码。 我运行我的windows应用程序msi文件。它在SQLServer2005中安装我的数据库。 当我尝试运行应用程序时,由于客户端计算机上的计算机名和sql server实例名不同,我失败了。连接字符串中出现错误。我需要一种方法来提取目标com

我正在使用SQLServer2005和VisualStudio2008构建一个C-windows应用程序。 在客户端计算机上部署应用程序。我是按这个顺序做的

我安装sql server 2005时使用的是我在应用程序中创建的相同用户/密码ie sa/密码。 我运行我的windows应用程序msi文件。它在SQLServer2005中安装我的数据库。 当我尝试运行应用程序时,由于客户端计算机上的计算机名和sql server实例名不同,我失败了。连接字符串中出现错误。我需要一种方法来提取目标computername和sql server实例,并在部署期间使用c代码将其保存在应用程序设置中,以便在运行时生成连接字符串

为了解决这个问题,我正在客户端的计算机上安装VisualStudio,并编辑源代码以更改机器名和sql server实例。然后我的windows应用程序运行。我不想以这种方式解决我的问题,而是需要一种在部署时设置参数的方式,或者让您来建议更好的方式


我请求你帮助我

谷歌会给你很多选择。复制数据库时是否遵循了正确的步骤

请点击这些链接

这将回答你的问题


同时发布您收到的确切错误消息。使用SQL CE解决问题将非常有用,因为它需要大量的返工

完整安装顺序为:

如果未安装Windows Installer 3.1,请安装它 如果未安装.Net 2.0,请安装它 检查SQL是否尚未安装: HKLM软件\Microsoft\Microsoft SQL 服务器\${instance\u name}\MSSQLServer\CurrentVersion当前版本

然后,您需要安装SQL Server:

${installer\u path}\SQLEXPR.exe-q/norebootchk/qn reboot=ReallySuppress addlocal=all INSTANCENAME=${instance\u name} SAPWD=${password}SECURITYMODE=SQL SQLBROWSERAUTOSTART=1 SQLAUTOSTART=1 AGTAUTOSTART=1 ASAUTOSTART=0 RSAUTOSTART=0 DISABLENETWORKPROTOCOLS=0 ERRORREPORTING=1 SQMREPORTING=0 ENABLERANU=0 ADDUSERASADMIN=1

要连接到SQL Server实例,请使用“数据链接属性”对话框。您需要向用户提供关于如何连接到实例的明确说明。乙二醇


如果使用.\Instance\u Name语法,则。点表示应该解决问题的客户端PC名称。在您的连接字符串中也要使用它。

因此,如果我理解正确,您已经在源代码中硬编码了连接字符串。当然,你已经发现这是一个多么糟糕的主意

您需要将该连接字符串保存在app.config文件中。这样,当您向客户安装应用程序时,只需更改配置文件,代码就可以运行了

要在app.config中插入连接字符串,请执行以下操作:

右键单击项目并选择“属性”,然后转到 设置页面。这将为您的应用程序创建一个settings.settings文件 项目,并将为您的属性打开GUI编辑器。 现在在列名中插入一个字符串,例如 测试连接 从类型列中选择ConnectionString类型 在“值”列中插入一个对用户有效的连接字符串 显影机 现在,如果打开app.config,您将注意到一个名为ConnectionString的新部分,该部分如下所示:

 <connectionStrings>
    <add name="ProjectName.Properties.Settings.testConnection" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\temp\mytemp.mdb;User Id=admin;Password=;" />
  </connectionStrings>

当我们在这里的时候,请检查是否可以使用来删除安装SqlServer的需要

1连接字符串中出现错误。我需要一种方法来提取目标computername和sql server实例,并在部署期间使用c代码将其保存在应用程序设置中,以便在运行时生成连接字符串。
 string constring = ConfigurationManager.ConnectionStrings["ProjectName.Properties.Settings.testConnection].ConnectionString;