2016-04-27 68 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,除非另有规定