C# Winform项目,客户端数据库连接不通

时间:2022-01-16 05:53:22
利用.net C#程序给用户开发了C/S版的桌面应用程序,由于在用户的本地需要存储数据,就选择了安装MSSQL_2008R2_EXPRESS简化版的SQL数据库。
目前遇到如下问题:
安装好打包的桌面应用程序以及简化版的SQL数据库后,发现需要更改连接数据源的地址。有部分用户数据源的地址可能用localhost,还有部分用户需要设置用户电脑的机器名。请问该如何设置,谢谢!




App.config文件配置如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <!--文件数据库 SQL Server-->
     <add key="ConnString" value="Data Source=localhost;Initial Catalog=db;Integrated Security=True;" />  </appSettings>
  <!--<system.diagnostics>
    <switches>
      -->
  <!--调试模式开关,  <add key="ConnString" value="Data Source=172.10.11.41;Initial Catalog=Jzcy;User Id=sa;Password=sa;Integrated Security=false;" />
         true为开启,程序在发生异常时,会在运行目录中生成一个日志文件 .\\Log\20140910.log
         false为关闭
      -->
  <!--
      <add name="DebugOutput" value="true" />
    </switches>
  </system.diagnostics>-->
  <system.web>
    <membership defaultProvider="ClientAuthenticationMembershipProvider">
      <providers>
        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
      </providers>
    </membership>
    <roleManager defaultProvider="ClientRoleProvider" enabled="true">
      <providers>
        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
      </providers>
    </roleManager>
  </system.web>
</configuration>

9 个解决方案

#1


数据库连接都不会改怎么能做出能用的项目?

#2


写配置文件吧

#3


<add key="ConnectionString1" value="user id=sa;password=sa321;initial catalog=databasename;data source=192.168.1.26;Connect Timeout=30"/>

#4


这个地址得提前设置好,不可能一个一个安装。所以不知道设置localhost还是机器名

#5


引用 楼主 sxl_88 的回复:
利用.net C#程序给用户开发了C/S版的桌面应用程序,由于在用户的本地需要存储数据,就选择了安装MSSQL_2008R2_EXPRESS简化版的SQL数据库。
目前遇到如下问题:
安装好打包的桌面应用程序以及简化版的SQL数据库后,发现需要更改连接数据源的地址。有部分用户数据源的地址可能用localhost,还有部分用户需要设置用户电脑的机器名。请问该如何设置,谢谢!


应该改变策略。

如果你的客户的数据库根本没有4G,你为什么要给它安装独立的数据库系统?

你应该使用 Sql Server Compact 这类嵌入式的数据库系统。 http://sqlcetoolbox.codeplex.com/

嵌入式的数据库系统不但速度快,而且无需安装(嵌入你的程序),无需配置。你把数据库文件自动生成在 app_data 目录下即可。

代码写得越多、配置文件越臃肿,对于你这类小项目来说,那样的设计方式越不好!小项目就不应该用远程数据库系统,除非你的客户的数据库大于 4G 字节。

#6


Sql Server Compact 可以使用 Sql Server 一样的语法,所以你用一会儿功夫就改造完成了。

以后你的这类产品,标榜“自己的程序自带数据库”,不要再强调什么独立数据库系统。

#7


用 sqlite 吧, 这个很方便的了。
http://blog.csdn.net/yenange/article/category/6254779

#8


1.本机和数据库服务器的防火墙拦截。
2.数据库对应的TCP协议服务并未打开。
3.web browser服务并未打开。

#9


C# Winform项目,客户端数据库连接不通

#1


数据库连接都不会改怎么能做出能用的项目?

#2


写配置文件吧

#3


<add key="ConnectionString1" value="user id=sa;password=sa321;initial catalog=databasename;data source=192.168.1.26;Connect Timeout=30"/>

#4


这个地址得提前设置好,不可能一个一个安装。所以不知道设置localhost还是机器名

#5


引用 楼主 sxl_88 的回复:
利用.net C#程序给用户开发了C/S版的桌面应用程序,由于在用户的本地需要存储数据,就选择了安装MSSQL_2008R2_EXPRESS简化版的SQL数据库。
目前遇到如下问题:
安装好打包的桌面应用程序以及简化版的SQL数据库后,发现需要更改连接数据源的地址。有部分用户数据源的地址可能用localhost,还有部分用户需要设置用户电脑的机器名。请问该如何设置,谢谢!


应该改变策略。

如果你的客户的数据库根本没有4G,你为什么要给它安装独立的数据库系统?

你应该使用 Sql Server Compact 这类嵌入式的数据库系统。 http://sqlcetoolbox.codeplex.com/

嵌入式的数据库系统不但速度快,而且无需安装(嵌入你的程序),无需配置。你把数据库文件自动生成在 app_data 目录下即可。

代码写得越多、配置文件越臃肿,对于你这类小项目来说,那样的设计方式越不好!小项目就不应该用远程数据库系统,除非你的客户的数据库大于 4G 字节。

#6


Sql Server Compact 可以使用 Sql Server 一样的语法,所以你用一会儿功夫就改造完成了。

以后你的这类产品,标榜“自己的程序自带数据库”,不要再强调什么独立数据库系统。

#7


用 sqlite 吧, 这个很方便的了。
http://blog.csdn.net/yenange/article/category/6254779

#8


1.本机和数据库服务器的防火墙拦截。
2.数据库对应的TCP协议服务并未打开。
3.web browser服务并未打开。

#9


C# Winform项目,客户端数据库连接不通