AWS EC2 linux + PHP + ODBC + 远程 MS SQL 服务器
AWS EC2 linux + PHP + ODBC + Remote MS SQL Server
我正在使用 AWS EC2 服务器(使用 php)开发 Web 应用程序以访问 MS SQL 服务器数据库。
经过长时间搜索解决方案后,我发现此解决方案使用 ODBC 驱动程序。很好,开发很顺利,连接数据库或持久化数据都没有问题。
但是当我部署我的应用程序时,任何操作 returns 这个错误:
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
/etc/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 table" 并使用 isql 连接 运行 任何查询都很顺利。
谁能帮帮我?
OBS:PHP 运行 版本 - PHP 5.6.10
需要考虑的几件事:
- 你是什么版本的 FreeTDS 运行?
- 你SQL服务器是什么版本运行?
您需要它来正确选择正确的 TDS 版本。您配置为使用 TDS 7.3,这将需要 FreeTDS 0.95 和 SQL Server 2008。如果您只是在做一些基本的事情,也许考虑将您的 TDS 版本更改为 7.2 或 7.1?
这是一张方便的图表,显示了 FreeTDS 中的哪个 TDS 版本支持哪些功能:
http://www.freetds.org/userguide/choosingtdsprotocol.htm
祝你好运!
我正在使用 AWS EC2 服务器(使用 php)开发 Web 应用程序以访问 MS SQL 服务器数据库。
经过长时间搜索解决方案后,我发现此解决方案使用 ODBC 驱动程序。很好,开发很顺利,连接数据库或持久化数据都没有问题。
但是当我部署我的应用程序时,任何操作 returns 这个错误:
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
/etc/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 table" 并使用 isql 连接 运行 任何查询都很顺利。
谁能帮帮我?
OBS:PHP 运行 版本 - PHP 5.6.10
需要考虑的几件事:
- 你是什么版本的 FreeTDS 运行?
- 你SQL服务器是什么版本运行?
您需要它来正确选择正确的 TDS 版本。您配置为使用 TDS 7.3,这将需要 FreeTDS 0.95 和 SQL Server 2008。如果您只是在做一些基本的事情,也许考虑将您的 TDS 版本更改为 7.2 或 7.1?
这是一张方便的图表,显示了 FreeTDS 中的哪个 TDS 版本支持哪些功能:
http://www.freetds.org/userguide/choosingtdsprotocol.htm
祝你好运!