Создание собственного драйвера ODBC

rewrite ^/comments.php$ /comments/$arg_id? permanent;
34
задан Nicholas Mancuso 2 December 2008 в 19:53
поделиться

3 ответа

Я не имею, но я когда-то взял интервью в компании, которая сделала точно это. Они сделали 4GL/DBMS продукт названным AMPS того же вида архитектуры как MUMPS - иерархическая база данных с интегрированным 4GL (целый жанр таких систем вышел в течение 1970-х). У них были вполне существенная основа унаследованного кода и клиенты, желающие соединяться с ним с помощью Доступа MS.

ведущий разработчик, который взял интервью у меня, поделился некоторыми военными историями об этом. По-видимому, это чрезвычайно болезненно, чтобы сделать и не должно быть взято слегка. Однако они действительно на самом деле преуспевали в implemnenting это.

Одна альтернатива выполнению это должно было бы обеспечить витрину данных / продукт BI (вроде BW SAP), который представляет Ваши данные приложения во внешней базе данных и массажирует их в более дружественный формат, такой как схема "звезда" или схема "снежинка".

Это пострадало бы от не поддержки доступа в режиме реального времени, но могло бы быть значительно легче реализовать (и что еще более важно поддержать), чем драйвер ODBC. Если Ваши требования доступа в режиме реального времени довольно predicitable и ограничены, Вы могли бы возможно представить API веб-сервиса для поддержки тех.

7
ответ дан ConcernedOfTunbridgeWells 2 December 2008 в 19:53
поделиться

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

существует по крайней мере две опции:

  • unixODBC лицензируется под LGPL, что означает, изменяете ли Вы код, необходимо сделать открытый исходный код модификаций.

  • iODBC лицензируется или под LGPL или под Новым BSD по Вашему выбору. Новый BSD позволяет, Вы для создания модификаций без делаете открытый исходный код модификаций.

Однако не ясно, работают ли эти пакеты на Windows, в противоположность работе UNIX/Linux с клиентским API, согласовывающимся со стандартным ODBC. Вы не заявляете, какую платформу Вы используете, таким образом, я не знаю, относится ли это к Вам.

5
ответ дан Bill Karwin 2 December 2008 в 19:53
поделиться
  • 1
    В дополнение к коду несколько слов, объясняющих, что removedTL будет содержать булево значение, сделали бы этот ответ более полезным. – Jason Aller 27 April 2014 в 17:54

Драйверы ODBC очень сложны - решение записать, что не нужно взяться слегка. Существующие драйверы с открытым исходным кодом рассмотрения являются хорошим подходом для примеров, но большинство имеет недостатки, которые Вы не можете хотеть эмулировать:) API являются тем же независимо от платформы ОС. FreeTDS для MSSQL/Sybase имеет одну из лучших реализаций Драйвера ODBC с открытым исходным кодом, которые я видел.

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

  • функции доступа Метаданных
  • ODBC определенный синтаксис запроса, анализирующий
  • отображения сообщения об ошибке SQLSTATE
  • Многобайтовый маршалинг / маршалинг Набора символов
  • поддержка версии 2,3 ODBC - ошибка передает/функционирует отображения
  • Курсоры
  • конфигурация DM UI для управления источником данных
9
ответ дан Einstein 2 December 2008 в 19:53
поделиться
  • 1
    @Jackson: Мог быть. Я склонен предполагать, что люди знакомы с !!, но я, вероятно, shouldn' t. – user113716 13 August 2011 в 21:24
Другие вопросы по тегам:

Похожие вопросы: