2015-10-02 2 views
1

Я разрабатываю веб-приложение с сервером AWS EC2 (используя php) для доступа к базе данных MS SQL Server.AWS EC2 linux + PHP + ODBC + Удаленный MS SQL Server

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

Но когда я разворачивал мое заявление, любое действие возвращает эту ошибку:

ERRO: IM001: [unixODBC][Driver Manager]Driver does not support this function

Я действительно пытался все, что я знаю, и не могу решить эту проблему.

Моя конфигурация EC2 является:

yum install unixODBC unixODBC-devel freetds freetds-devel

И мои ODBC/FreeTDS конф файлы:

файла /etc/odbc.ini

[TDS_NAME] 
     Description = decription 
     Driver = TDS_NAME 
     Database = MY_DB 
     Servername = TDS_NAME 
     UID = VIPS 
     Port = 1433 
     TDS_Version= 7.3 

/и т.д./odbcinst. ini

[TDS_NAME] 
     Description = TDS Connection 
     Driver64 = /usr/lib64/libtdsodbc.so 
     Setup64 = /usr/lib64/libtdsS.so 
     FileUsage = 1 
     UsageCount = 1 
[ODBC] 
     Trace = yes 
     TraceFile /tmp/odbc.log 

/etc/freetds.conf

[TDS_NAME] 
     host = MY_HOST 
     port = MY_PORT 
     tds version = 7.3 

Я бегу мои запросы с помощью odbc_execute() или odbc_exec(), и ошибка происходит, когда мой консультируйтесь имеет некоторый параметр. Я почти уверен, что проблема не в моих конфигурационных файлах, потому что я могу успешно подключиться к серверу и запустить простую таблицу «SELECT * FROM» и подключиться, используя isql, выполняющий любой запрос.

Кто-нибудь может мне помочь?

OBS: PHP РАБОЧИЙ ВАРИАНТ - PHP 5.6.10

ответ

1

несколько вещей, чтобы рассмотреть следующие вопросы:

  • Какую версию FreeTDS вы работаете?
  • Какую версию SQL Server вы используете?

Для этого необходимо правильно выбрать правильную версию TDS. Вы настроены на использование TDS 7.3, для чего потребуются FreeTDS 0.95 и SQL Server 2008. Если вы просто делаете базовые вещи, возможно, подумайте о том, чтобы изменить вашу версию TDS на 7.2 или 7.1?

Вот удобный график, какие функции поддерживаются с помощью которых TDS версии в FreeTDS:

http://www.freetds.org/userguide/choosingtdsprotocol.htm

Успехов!

+0

Мне не повезло :(Я попытался обновить мою версию freeTDS (до 0,95) и понизить версию TDS. Но такая же ошибка появляется. Кстати, есть ли какой-либо репозиторий для freeTDS 0.95? скачать и установить tar.gz.Я не знаю, была ли установлена ​​все правильно, потому что установка не создала символическую ссылку на tsql, мне нужно было сделать это самостоятельно ... –

+0

И ах, это была более ранняя версия freeTDS, которая была запущена, я установил с помощью «yum install freetds» и получил эту версию. Мой SQL Server 2008 года. –

+0

Теперь я понял! Помимо обновления моего freeTDS до 0,95, мне пришлось удалить все параметры из моих запросов, я не знаю, лучшее ли это решение, но оно работает! Спасибо :) –

Смежные вопросы