Почему Microsoft не поддерживает соединения OLE DB для SQL Azure?

StackOverflow https://stackoverflow.com/questions/3085811

Вопрос

На MSDN сайт Это говорит: «Подключение к SQL Azure с помощью OLE DB не поддерживается."

Есть и другие места в Интернете, где люди сообщают, что он отлично работает для них после настройки имени сервера в строке подключения, например, здесь и здесь. Отказ Даже SQL Server's Услуги по анализу используются OLE DB для подключения к SQL Azure!

Я разработающую нативное / неуправляемое приложение в Delphi, который подключается к SQL Server с использованием ADO через поставщик OLE DB для SQL Server. Я рассматриваю возможность добавления поддержки SQL Azure. Было бы действительно полезно, если бы я мог повторно использовать большинство моего кода, не слишком много изменений. Я, вероятно, не считал бы иначе этого направления.

Было бы полезно, если Microsoft более ясна на том, почему «OLE DB не поддерживается». Если есть определенные ограничения в использовании OLE DB, что они? Может быть, я могу обойти их, или, может быть, это не повлияет на меня.

Microsoft также упоминает, что ODBC поддерживается. Итак, я могу воспользоваться «поставщиком OLE DB для ODBC» и подключить таким образом? Или любая комбинация, которая включает в себя OLE DB «не поддерживается»?

Это было полезно?

Решение

Вы можете использовать его, однако он не был тщательно протестирован на всех случаях. По сути, он должен работать для большинства вещей, но могут быть несколько краевых случаев, когда он не будет работать. Пока мы документируем эти случаи, он остается неподдерживаться. Это, как говорится, если вы должны были использовать и столкнуться с ошибками, мы хотели бы знать об этом и приоритетировать, что его исправлено.

Другие советы

Вы можете использовать ADO, используя собственный клиент SQL, хотя эта информация трудно найти, вы можете прочитать об этом здесь 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;. Также рекомендуется использовать datatypecompatibity = 80;. Таким образом, SQL Native Client Connected String String выглядит так:

«Provider = SQLNCLI10; Server = TCP: myservername.database.windows.net; база данных = adventure works2008r2; uid = myusername @ myservername; pwd = mypa $$ w0rd; шифрование = да; datatypecompativity = 80;

Вы также можете добавить «Connection Mars = True»; к соединительной строке для нескольких рекордов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top