慢sql oledb连接

时间:2014-07-14 10:53:20

标签: sql-server oledb

有人能告诉我为什么下面的代码表现得很慢吗? 最后一句话需要6秒多。 我试图用C ++从SQL服务器读取数据。

std::string connectString("Provider=SQLOLEDB; Data Source=XXX;Initial Catalog=YYY;Integrated Security=SSPI;"); 
_ConnectionPtr Connection; 
CoInitialize(NULL); 
pConnection.CreateInstance(__uuidof(Connection)); 
HRESULT hr=Connection->Open(connectString.c_str(),"","",adConnectUnspecified); 

2 个答案:

答案 0 :(得分:2)

添加端口号就行了!

std :: string connectString(" Provider = SQLOLEDB; Data Source = XXX,1430; Initial Catalog = YYY; Integrated Security = SSPI;");

答案 1 :(得分:1)

以下是要检查的要点:

  • 在您的数据源与您的应用程序之间存在网络连接,例如SMB分享。这些往往很慢。
  • 尝试查看某些注册表设置是否对您有效,导致网络数据包过小或其他类型的限制。这些东西取决于框架版本。
  • 病毒扫描程序希望成为您的朋友。
  • 以下是防火墙如何打扰的示例:Very slow connection to SQL Server 2005 only if using ADO.NET with SqlClient 当防火墙阻止请求时,系统会在超时后选择一些管道流。

我希望其中一个会帮助你: - )