Строка подключения ODBC для PHP с неясным драйвером - PullRequest
0 голосов
/ 02 июня 2010

Я пытаюсь подключиться к базе данных через ODBC, и я не нахожу помощи через Google / Интернет.

Наша ERP использует OMNIS в качестве основы, которая предоставляет драйвер ODBC для запроса собственной базы данных OMNIS вне программы. Я создал драйвер и DSN, но не могу начать манипулировать данными или отправлять запросы с помощью PHP.

Драйвер отображается в диспетчере соединений ODBC как «драйвер ODN OMNIS» - я перепробовал множество строк подключения, но, похоже, не смог его запустить.

DSN находится в C: \ Test.dsn. Еще раз, драйвер появляется как OMNIS ODBC Driver. Любая помощь очень, очень ценится.

Ответы [ 3 ]

2 голосов
/ 09 июня 2011

Ответ:

В этих инструкциях предполагается, что веб-сервер Apache уже настроен на хост-сервере.

Операционная система: Windows Server 2003 Веб-сервер: Apache 2 (WAMP www.wamp.com)

1. Загрузите и установите драйвер Omnis ODBC для Windows, не поддерживающий Юникод (http://www.tigerlogic.com/tigerlogic/omnis/download/tools.js

2. Создайте источник данных SYSTEM для вашего файла данных: -Старт меню> Администрирование> Источники данных -Выберите вкладку «Системный DSN» -Нажмите Добавить -В списке драйверов выберите «Omnis ODBC Driver». -Нажмите Готово -Введите имя источника данных, описание и учетные данные аутентификации Важно: Точно запомните имя источника данных. Это имя источника данных, который будет использоваться для подключения к базе данных. -Выберите файл данных. -Сохранить - Источник данных теперь зарегистрирован в операционной системе и готов к использованию.

3. В корневом веб-каталоге создайте новое имя файла odbc_test.php.

Используйте следующий пример кода для проверки соединения для передачи данных.

<?php

/*My data source is named PFDSN, so that is what I will be using in this example
   Make sure you use the exact name of the data source created in step 2.
*/
$conn = odbc_connect('PFDSN',' ',' ');  //the connection to the data file
$sql = 'select * from INVOICES';    //query string
$result = odbc_exec($conn,$sql); //execute the query
$while($data[] = odbc_fetch_array($result)); //loop through the result set
odbc_free_result($result); //unallocate the result set
odbc_close($conn); //because this is good practice

print_r($data);
?>

Сохраните и закройте файл. Перейдите к http://localhost/odbc_test.php (или везде, где находится файл).

Если соединение прошло успешно, на странице отобразится дамп всех данных, извлеченных из таблицы счетов.

Если это не работает, убедитесь, что в строке подключения указано правильное имя DSN.
Если строка подключения верна и все еще не работает, есть вероятность, что PHP не настроен с модулем ODBC. Однако следует помнить, что начиная с PHP 5 (в Windows) модуль ODBC включен по умолчанию.

К сожалению, на момент написания этой статьи Tiger Logic не предоставлял драйвер ODBC для Linux / Unix. Надеюсь, они придут в себя и поймут, что Windows отстой.

Конец.

1 голос
/ 26 апреля 2011

В итоге я открыл клонирование базы данных в SQL и использовал этот метод. Было слишком сложно пытаться заставить работать драйвер ODBC OMNIS.

0 голосов
/ 12 января 2012

Мне удалось подключиться, используя такой DSN:

odbc:DRIVER=OMNIS;DataFilePath=C:\import\average.df1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...