Где действительно универсальные каналы передачи данных? - PullRequest
7 голосов
/ 28 января 2011

В старые добрые времена oledb я использовал файлы UDL и соответствующий мастер для проверки и создания строк подключения. В настоящее время строки подключения, которые вы можете создать таким способом, больше не являются универсальными. ADO.NET Entity Framework, например, создает декорированные строки соединения, которые мастер UDL не может обработать. Есть ли какой-нибудь инструмент для создания универсальных каналов передачи данных сегодня?

Ответы [ 2 ]

3 голосов
/ 25 февраля 2011

Я думаю, что есть разница между:

  • Инструментом , который помогает создавать строки подключения (тот, который появляется при двойном щелчке по файлу .UDL).Этот инструмент основан на COM и находится в Ole32.dll и все еще работает.
  • Концепция строк подключения , которая никогда не менялась.(это так просто: список пары ключ / значение!)

Современные (то есть: .NET?) строки подключения не менее универсальны, чем строки подключения OleDb.Они всегда специфичны для данного провайдера.Пары ключ / значение могут не совпадать, но концепция всегда присутствует.

Инструмент UDL работает с использованием объектов COM и все еще может использоваться.Например, можно написать расширение для инструмента UDL для строк подключения Entity Framework.Вот ссылка на официальную ссылку: API интерфейса пользователя расширяемого канала передачи данных

.UDL файлы по-прежнему могут использоваться в .NET (с P / Invoke) с использованием интерфейсов IDBPromptInitialize и IDataInitialize OleDb,хотя я согласен, в наши дни это не кажется таким уж естественным:)

3 голосов
/ 23 февраля 2011

Универсальная «линия передачи данных» не может поддерживать все функции всех поставщиков / версий баз данных, большинство программных продуктов написаны корпорациями собственными силами для общения с ихв домашних базах данных, поэтому не обязательно должен быть независимым от базы данных .

Труднее кодировать с помощью API, который не подходит для функций, которые обеспечивает выбранная вами база данных, поскольку документация никогда не соответствует базе данных, которую вы пытаетесь использовать.

Microsoft теперь ожидает, что поставщик базы данных предоставит поддержку доступа к данным Ado.net для базы данных, следовательно, доступ к данным, как правило, различен для каждой базы данных - , но большинству людей все равно, как там коднужно работать только с одним поставщиком баз данных .

Существуют опции сторонних производителей, такие как dotConnect devArt и DataDirect , обеспечивающие универсальную «связь данных»для .net, но по цене.

nHibernate будет располагаться поверх большинства слоев доступа к базе данных .net для вендеров и скрывать большинство различий, если вы будете рады использовать ORM.

...