尝试连接到Web应用程序中的附加数据库时,我遇到一个奇怪的错误。
我的连接字符串:
<add name="ExtJSTestDB" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\KODatatableContext.mdf;User Instance=True;Integrated Security=True;" providerName="System.Data.SqlClient" />
控制器中的代码:
using (var cn = new SqlConnection("ExtJSTestDB")){...}
就在调用“ new SqlConnection”的那一刻,我得到了:
引发异常:
System.Data.dll中的'System.ArgumentException' 附加信息:索引格式为“ 0”开始的初始格式设置为“初始格式”。
我在做什么错了?
答案 0 :(得分:2)
如果您在Web.config
xml元素connectionStrings中的connectionString`
<connectionStrings>
<add name="ExtJSTestDB" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\KODatatableContext.mdf;User Instance=True;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
您不能使用name="ExtJSTestDB"
来设置连接字符串,而需要使用System.Configuration.ConfigurationManager.ConnectionStrings
Concollection来读取ConnectionString数据。
string connStr= System.Configuration.ConfigurationManager.ConnectionStrings["ExtJSTestDB"];
using (var cn = new SqlConnection(connStr)){...}