Я недавно потратил много времени на эту работу;Я нашел несколько десятков сообщений людей, которые не смогли соединиться;но очень мало ответов.Вот мои уроки:
Sage Timberline Office, теперь называемый Sage CRE 300, использует базу данных Pervasive SQL.Их путь обновления - к SQL Server к концу 2019 года.
Существует 2 подключения ODBC, которые можно использовать для подключения:
1.Используйте собственные драйверы Pervasive ODBC
Драйверы ODBC включены в бесплатный Pervasive Client.Просто найдите последнюю версию.
Оба, 32- и 64-разрядные драйверы включены.
PHP позволяет подключаться через простую строку подключения, такую как: odbc_connect("Driver={Pervasive ODBC Interface};ServerName=myserver;ServerDSN=mydsn;", "", "", SQL_CUR_USE_ODBC);
PervasiveИмеется много хорошей современной документации.
Один гигантский недостаток: вы можете только читать данные.Поля Sage помечены внутри и требуют пароль для обновления.Sage не предоставит пароль;даже за плату.(Я пытался).
2.Используйте предоставленный Sage драйвер ODBC
Единственный способ получить драйвер ODBC - установить клиент Sage.(Но читайте дальше, поскольку вы, вероятно, в любом случае не хотите этого делать).
Драйвер Sage ODBC называется Timberline Data, а продукт Simba.
Драйвер доступен только в32-разрядная версия.
Драйвер делает больше, чем интерфейс: - распространяющиеся имена таблиц и полей короткие;этот драйвер ODBC действует как переводчик, предоставляющий длинные имена.Есть 2 версии этих длинных имен.Решите, что вы хотите использовать, и придерживайтесь его.- Драйвер Sage ODBC позволяет обновлять поля.Не все поля;только поля, которые Sage позволяет вам изменить.Если обновление является критически важным, то это ваша опция only .
Это официальная строка соединения и способ ее использования в PHP:
odbc_connect("Driver={Timberline Data};UID=Mark;PWD=sage123!;DBQ=C:\Documents and Settings\All Users\Application Data\Sage\Timberline Office\Data\Construction Sample Data;CODEPAGE=1252;DictionaryMode=0;StandardMode=1;MaxColSupport=1536;", "", "", SQL_CUR_USE_ODBC);
Iбесполезно для UID=Mark;PWD=sage123!;
Конечно, убедитесь, что удвоили все обратные слеши.C:\\Documents and Settings\\All..
Sage заявляет, что их драйвер ODBC был протестирован только с продуктами MS Office;но он также будет работать с C ++, C # и т. д. (поддержка Per Sage.)
Со следующим исключением: мне не удалось использовать путь UNC в строке соединения с C # или PHP.У MS Access не было проблем с подключением по UNC-пути.Я не мог заставить PHP работать со строкой.Сопоставленные диски не помогли;они могут работать для вас.
Подсказки:
- Обязательно используйте 32-битную версию PHP для драйвера Sage ODBC;64 бит не будет работать!
- Для тестирования подключение с MS Access к драйверу ODBC было несложным;это послужило хорошим способом получения имен таблиц и полей и подтверждения строки подключения.
- В итоге я настроил веб-сервер и установил экземпляр PHP на сервере Sage.Это дает следующие преимущества:
- Нет необходимости устанавливать Sage Client (500 МБ) на ваш веб-сервер.
- Предоставляет 32-битную опцию, если ваш основной сайт работает в 64-битной среде.
- Нет проблем с путями UNC