c# 远程连接SQL2008R2 提示sqlDbhelper 类型初始值设定项引发异常

.Net技术 码拜 8年前 (2016-03-01) 1304次浏览
故障描述。台式机是服务器。全部远程连接已开。
客户端是同网段的笔记本。
客户端sql连接语句假如写成 public static string CONN_STRING = “data source = 192.168.0.105,1433;database = qhjx;
uid=sa;pwd=123456789”; 就能链接服务器的数据库
假如换成  public static string CONN_STRING = System.Configuration.ConfigurationManager.AppSettings
[“LiuWei.Properties.Settings.Setting”].ToString();
登陆的时候就会提示 sqlDbhelper 类型初始值设定项引发异常
app.config文件如下
<?xml version=”1.0″ encoding=”utf-8″ ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name=”LiuWei.Properties.Settings.Setting” connectionString=”Data Source=.;Initial Catalog=qhjx;Persist Security
Info=True;User ID=sa;Password=123456789″
providerName=”System.Data.SqlClient” />
</connectionStrings>
</configuration>
解决方案

50

是的。vs无法助你调试“类型初始值设定项引发异常”这种异常的真正原因,所以你应该将类型(或对象实例)初始化方法中的代码重构为初始化之后才执行的,让调试器真正起作用。至于真正什么问题造成异常,你本人就能调试出来了!

50

引用 14 楼 zhaolonghui2003 的回复:

app.wenconfig 文件配置是正确的。但是本人在sqlDbhelper里写错了获取连接方法
public static string CONN_STRING = System.Configuration.ConfigurationManager.ConnectionStrings[“LiuWei.Properties.Settings.Setting”].ToString(); 这个才是正确的写法。困扰了3天的问题解决了。

提示一下,你的结论还是错误的,不存在你所说的“sqlDbhelper里写错了获取连接方法”,你cs里跟config里的写法都是正确的,但一起用就是错误的。
你cs文件不改,配置文件写成这样也是可以的

<appSettings>
<add key="LiuWei.Properties.Settings.Setting" value="Data Source=.;Initial Catalog=qhjx;Persist Security Info=True;User ID=sa;Password=123456789" />
</appSettings>

只是说你用了1.1种的方法去取2.0配置方式中的值,或是反过来做,总之结果就是引发了静态字段初始化失败导致的异常。
没有太多人会记住.net中数万个类跟方法,根本的一点还是要掌握调试的技巧,发现异常能快速的进行定位,像这样的问题就会很快发现并解决。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c# 远程连接SQL2008R2 提示sqlDbhelper 类型初始值设定项引发异常
喜欢 (0)
[1034331897@qq.com]
分享 (0)