gpt4 book ai didi

c# - 从配置管理器中提取连接字符串

转载 作者:搜寻专家 更新时间:2023-10-30 23:18:00 25 4
gpt4 key购买 nike

我有一个问题。我正在尝试通过

提取连接字符串
sqlConnStr = new qlConnection(ConfigurationManager.ConnectionStrings["PlacementConnectionString"].ConnectionString);

但它总是失败:

Object Ref not set to an instance of an object

我检查了调试器,这是 connectionStr

的值
{Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Placement.accdb}

我已经通过 VS2012 的 DataSet 向导导入了我的数据库,我做错了什么?

PS:我已经多次测试连接。

<connectionStrings>
<add name="_201103578_P09.Properties.Settings.PlacementConnectionString"
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\Placement.accdb"
providerName="System.Data.OleDb" />
</connectionStrings>

亲切的问候

马库斯

[更新]

我从

sqlAdapter = new SqlDataAdapter();

try
{
sqlConnStr = new SqlConnection(ConfigurationManager.ConnectionStrings["PlacementConnectionString"].ConnectionString);
}

sqlAdapter = new SqlDataAdapter();
string s = ConfigurationManager.ConnectionStrings[1].ConnectionString;

try
{
sqlConnStr = new SqlConnection(s);
}

我检查 s 的值为

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\Placement.accdb

现在抛出一个错误

System.ArgumentException: Keyword not supported: 'provider'

无计可施;

============================================= ==================

致大家 - 谢谢问题是(我忘记了)在使用 Access 数据库时您必须使用 OleDbCommand 而不是 SqlCommand。谢谢你现在一切正常! – Markus 刚刚编辑

最佳答案

离开你发布的代码,我能看到的唯一解释是你得到的空引用与配置管理器有关,没有通过你传递的字符串得到任何东西。

如果

ConfigurationManager.ConnectionStrings["PlacementConnectionString"]

不返回任何东西——调用

.ConnectionString

将因您的错误而失败。你能证实吗

"PlacementConnectionString"

连接的名称是否正确?

关于c# - 从配置管理器中提取连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10523002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com