我收到一個錯誤,我無法在任何地方找到答案。它說ServerVersion的'conn.ServerVersion'拋出了一個'System.InvalidOperationException'類型的異常(見截圖)我已經阻止了一些單詞,以免損害我們的數據。它甚至沒有建立連接。無法連接到SQL,ERROR = ServerVersion'conn.ServerVersion'拋出類型'System.InvalidOperationException'的異常
此連接字符串在以前的應用程序版本作品(的Visual Studio 2012,使用Microsoft.Practices.EnterpriseLibrary.Data.Sql的.NET Framework 4.5.2),所以我知道這是不是憑據。我們正在重寫舊應用程序,以便新應用程序使用Visual Studio 2015,.NET Framework 4.5.2和System.Data.SqlClient。
這裏是WEB.CONFIG連接字符串:
<connectionStrings>
<add name="DataConnection" connectionString="Data Source=mydatabaseserver\tst1;Initial Catalog=LeaseData;Persist Security Info=True;User ID=myID;Password=mypassword" providerName="System.Data.SqlClient" />
</connectionStrings>
這是我的C#代碼中使用我的連接字符串,它是在我的web配置調用數據庫。
public static DataTable ContractDetails(string contractID, string pointOfContact)
{
string connString = ConfigurationManager.ConnectionStrings["DataConnection"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connString))
{
try
{
if (connString.Length > 0)
{
using (SqlCommand cmd = new SqlCommand("spNameOfStoredProcedure"))
{
using (SqlDataAdapter da = new SqlDataAdapter())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn;
da.SelectCommand = cmd;
cmd.Parameters.AddWithValue("@ContractID", contractID);
cmd.Parameters.AddWithValue("@PointOfContact", pointOfContact);
cmd.ExecuteNonQuery();
using (DataTable dt = new DataTable())
{
da.Fill(dt);
}
}
}
}
}
catch (SystemException)
{
}
}
讓我知道是否還有其他任何有助於解決此問題的方法!
謝謝!
您確定ContractID參數預計是存儲過程中的nvarchar嗎? – Steve
我沒有看到conn.Open()在任何地方,你需要打開你的連接到數據庫,然後才能執行命令。 – Bearcat9425
@ Bearcat9425不適用於適配器,您不需要。 – LarsTech