2016-04-27 67 views
1

SQL連接對象連接到SQL Server以運行查詢的驅動程序是什麼?C#Sql連接驅動

如果我有以下代碼:

SQLConnection cn = new SqlConnection("server=ServerName;initial catalog=CorporateNA;Integrated Security=SSPI") 
cn.Open(); 

是使用ODBC驅動程序的SQL Server SQL連接對象?我不禁感到這是一個愚蠢的問題,但谷歌搜索該主題是徒勞無益的。當連接到SQL Server的服務器上運行的應用程序出現間歇性超時問題,並且DBA詢問它使用什麼驅動程序進行連接。我不知道如何回答他們。

+3

您正在使用[ADO.NET](你的驅動程序是.NET Framework Data Provider for SQL Server(俗稱的SqlClient)https://msdn.microsoft.com /en-us/library/e80y5yhx(v=vs.110).aspx)。如果您想要,您可以[強制ADO.NET使用ODBC](https://msdn.microsoft.com/en-us/library/aa719762(v = vs.71).aspx)。但是,除非你有充分的理由這樣做,否則你不應該這樣做。 – Icemanind

+2

您應該告訴您的DBA您正在使用SQL Server的.NET Framework數據提供程序。告訴他們你正在使用ADO.NET是不夠的,因爲@Icemanind指出,你可以在ADO.NET中使用ODBC驅動程序(甚至是OleDB驅動程序)。 – Joe

+1

你增加超時了嗎? SqlCommand cmd = new SqlCommand(); cmd.CommandTimeout = 500;已知SQL Server碎片化會降低數據庫的速度。嘗試壓縮數據庫以查看問題是否得到解決。 – jdweng

回答

2

如果使用System.Data.SqlClient.SqlConnection,除非另有規定