【问题标题】:error message: Format of the initialization string does not conform to specification starting at index 0错误消息:初始化字符串的格式不符合从索引 0 开始的规范
【发布时间】:2015-05-01 11:13:57
【问题描述】:

我搜索了 SO,但没有找到解决我的错误的方法。
我正在使用 VS 2013 和 SQL Server 2014。

下面是我的连接字符串:

using (SqlConnection sqlConnection = new SqlConnection("cnInvestTracker"))
{

}  

我的 web.config 是:

<connectionStrings>
    <add name="cnInvestTracker" 
          connectionString="Data Source=localhost;Initial Catalog=InvestTracker;Integrated Security=True"
          providerName="System.Data.SqlClient" />
</connectionStrings>  

当代码执行 using 行时,我收到一条错误消息。错误信息是:

初始化字符串的格式不符合规范 从索引 0 开始。

是什么导致了错误?

【问题讨论】:

  • 你无法访问 webConfig 我会为你发布修复

标签: c# asp.net sql-server-2014


【解决方案1】:

"cnInvestTracker" 本身 不是有效的连接字符串。这是您在这里尝试使用的:

new SqlConnection("cnInvestTracker")

那个构造函数不想要连接字符串的名称,它想要the connection string itself:

new SqlConnection(ConfigurationManager.ConnectionStrings["cnInvestTracker"].ConnectionString)

(您可能需要添加对System.Configuration 的引用,并且您可能需要添加一些错误检查以确保在尝试引用之前存在该名称的连接字符串。)

【讨论】:

  • 做到了。谢谢@大卫。将在 7 分钟内接受答复
【解决方案2】:
using (SqlConnection sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["cnInvestTracker"].ConnectionString))
{

}  

一旦建立连接,您可能会想要对代码做更多的事情,所以下面是一个示例,如果您想使用 .Fill() 将数据返回到 DataTable 中,您可以做些什么

SqlDataAdapter sda;
DataTable someDataTable = new DataTable();
using (SqlConnection connStr = new SqlConnection(ConfigurationManager.ConnectionStrings["cnInvestTracker"].ConnectionString))
{
    using (SqlCommand cmd = new SqlCommand("ups_GeMyStoredProc", connStr)) //replace with your stored procedure. or Sql Command 
    {
        cmd.CommandType = CommandType.StoredProcedure;
        sda = new SqlDataAdapter(cmd);
        new SqlDataAdapter(cmd).Fill(someDataTable);
    }
}

【讨论】:

    猜你喜欢
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    相关资源
    最近更新 更多