我的程序中全部是用的sqlhelper读取的数据(数据为为sqlserver2005).
设计程序时用的是 <add name="chDB" connectionString="Data Source=XXB-YY\SQLEXPRESS;Initial Catalog=chdb;uid=sa;pwd=111" />
strConn = System.Configuration.ConfigurationManager.ConnectionStrings["chDB"].ConnectionString;
然后SqlHelper.ExecuteReader(strConn, CommandType.Text, "select username from chUser")
strConn里面包含了主机名xxb-yy.
现在我想打包到新机上安装,不知有什么简单的方法连接不同机器名的数据库?我想过用ODBC,可是生成的connectionString为
<add name="chDB" connectionString="Dsn=vipdb;uid=sa;pwd=111" providerName="System.Data.Odbc" />
strConn只取到了前面的部分,SqlHelper执行时提示:不支持关键字: “dsn”。

解决方案 »

  1.   

    1:你可以把connectionstring写在一个日志文件中,让用户更改它;
    2:string constring = "Data Source=127。0。0。1;Initial Catalog=数据库名;Integrated Security=True ";
    用户还得添加数据库,,数据库的名称,你一定知道吧。
      

  2.   

    可写在配置文件中(web.config,app.config)
    或做个界面让用户设置(提供默认等功能),将关键字串加密,再在使用时解密使用
      

  3.   

    写在配置文件中。再写个判断机器的MachineName,然后遍历配置文件取出对应的的连接字符串