10

MSDN 网站上它说,“不支持使用 OLE DB 连接到 SQL Azure。

在网络上的其他地方,人们报告说在调整连接字符串中的服务器名称后它对他们来说工作正常,例如这里这里。甚至 SQL Server 的Analysis Services 也使用 OLE DB 连接到 SQL Azure

我在 Delphi 中开发了一个本机/非托管应用程序,它使用 ADO 通过 SQL Server 的 OLE DB 提供程序连接到 SQL Server。我正在考虑添加 SQL Azure 支持。如果我可以重用我的大部分代码而不做太多更改,那将非常有帮助。否则我可能不会考虑朝这个方向发展。

如果 Microsoft 更清楚地说明“不支持 OLE DB”的原因,那将会很有帮助。如果在使用 OLE DB 时存在某些限制,它们是什么?也许我可以解决它们,或者它不会影响我。

Microsoft 还提到支持 ODBC。那么我可以使用“OLE DB provider to ODBC”并以这种方式连接吗?还是“不支持”包含 OLE DB 的任何组合?

4

3 回答 3

7

您可以使用它,但它尚未针对所有情况进行彻底测试。本质上,它应该适用于大多数事情,但可能有一些边缘情况它不起作用。在我们记录这些案例之前,它仍然不受支持。话虽如此,如果您要使用并遇到错误,我们很想知道它并优先解决它。

于 2010-06-25T04:57:03.043 回答
4

在此处投票支持 OleDB 对 Azure 的支持:

http://www.mygreatwindowsazureidea.com/forums/34685-sql-azure-feature-voting/suggestions/407269-ole-db-provider-for-connecting-to-sql-azure?ref=title

于 2012-01-25T21:13:59.317 回答
4

您可以使用 SQL Native Client 使用 ADO,尽管很难找到此信息,但您可以在此处http://msdn.microsoft.com/en-us/library/ms130978(SQL.110).aspx和此处http: //msdn.microsoft.com/en-us/library/ms131035(SQL.110).aspx

在连接字符串中而不是使用 Provider=SQLOLEDB; 我们可以使用 Provider=SQLNCLI10;。还建议使用 DataTypeCompatibility=80;。因此,SQL Native Client 支持的连接字符串如下所示:

“Provider=SQLNCLI10;Server=tcp:MyServerName.database.windows.net;Database=AdventureWorks2008R2;Uid=MyUserName@MyServerName;Pwd=MyPa$$w0rd;Encrypt=Yes;DataTypeCompatibility=80;”

您还可以添加“MARS Connection=True;” 到多个记录集的连接字符串。

于 2012-03-16T23:53:07.927 回答