error message: Format of the initialization string does not conform to specification starting at index 0

[亡魂溺海] 提交于 2020-01-14 22:32:17


I searched SO but have not found a solution to my error.
I am using VS 2013, and SQL Server 2014.

Below is my connectionstring:

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


My web.config is:

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

I am getting an error message when the code executes the using line. The error message is:

Format of the initialization string does not conform to specification starting at index 0.

What is causing the error?


The value "cnInvestTracker" itself isn't a valid connection string. Which is what you're trying to use here:

new SqlConnection("cnInvestTracker")

That constructor doesn't want the name of a connection string, it wants the connection string itself:

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

(You may have to add a reference to System.Configuration, and you may want to add some error checking to make sure a connection string of that name exists before trying to reference it.)


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


you will probably want to do more with the code once you establish a connection so below is an example of what you can do if you are wanting to return data for example into a DataTable using the .Fill()

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);