我看到了部分信息,旧信息,但没有实际样本文件那么好,我在本地有简短的评论.
我需要了解odbc.ini和odbcinst.ini之间的确切关系.
表面上很明显 – 在odbc.ini文件的顶部有一个部分,如:
[ODBC Data Sources] MYDSN = MyDriverName ...
但是,我不确定是否可以在驱动程序或DSN部分中进行设置.
1)我在两个文件中都有一行Driver = /path/to/file/.so,值有时会有所不同.这甚至有意义吗?如果是这样,哪个占上风?
2)odbcinst.ini是odbc.ini的类似JavaScript的“原型”吗?换句话说,如果我创建了一些具有常见设置的DSN,我可以将odbc.ini中的常用设置提升为odbcinst.ini吗?
3)odbcinst.ini中驱动程序和安装程序有什么区别?他们似乎有相同的价值观.这些设置是特定于数据库还是通用的?
解决方法
我在Debian上使用FreeTDS将PHP驱动的网站连接到MS-sql Server 2005数据库.
我可以给配置文件的解释:
/etc/odbc.ini
保存连接到数据库的处理程序(例如PHP)中引用的实例(请参阅下面的示例).配置定义了连接所需的服务器.
[freetds_odbc_connection] Driver = FreeTDS Description = test Database = MyCompanyDb Server = frodo Readonly = Yes Port = 1433 Trace = No
–
/etc/odbcinst.ini
保留odbc.ini中驱动程序部分的配置.
[FreeTDS] Description = TDS connection Driver = /usr/lib/odbc/libtdsodbc.so Setup = /usr/lib/odbc/libtdsS.so UsageCount = 1 FileUsage = 1 Trace = Yes TraceFile = /tmp/odbcinst_tr
–
节目-companies.PHP
$host="freetds_odbc_connection"; $user="freetds"; $password="secretpassword"; $conn_id = odbc_connect($host,$user,$password) or die (odbc_errormsg()); $sql_companies = "SELECT * from AMGR_Client_Tbl WHERE Record_Type='1'"; $query_companies = odbc_exec($conn_id,$sql_companies); while (odbc_fetch_row($query_companies)) { $client_id = odbc_result($query_companies,6); $company_name = odbc_result($query_companies,9); }
等..等..
我确定还有许多其他变量可以设置和使用,但这是我能提供的最简单的解释.