freetds与unixodbc :freetds.conf odbcinst.ini odbc.ini 之间的关系

这两天一直在搞freetds和unixodbc,因为要在我的OSX上使用php连接sqlserver2005数据库~~


select @@version


Microsoft SQL Server 2005 - 9.00.4035.00 (X64) 
Nov 24 2008 16:17:31 
Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)


碰到了很多问题,用了两三天的时间,才解决掉了所有问题,一开始一点思路都么有,现在都搞定了,让我们整理下我们的思路


首先我们有freetds,我们要在freetds中配置我们的数据源:


# A typical Microsoft server
[TEST1dsn]
        host = some sql server host like 192.168.100.9
        port = 1433
        tds version = 7.0


有了数据源,我们就可以用tsql来这么干了~~


tsql -S TEST1dsn -U root -P root -D dbtest


AndyMacBookPro:etc andy$ tsql -S TEST1dsn -U root -P root 
locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> 


数据源配置成功!


有了数据源之后,我们就可以去配置unixodbc里的odbcinst.ini,这里面主要是指明odbc的驱动程序的,例如我这里是:


[FreeTDS]
Description=freetds driver
Driver=/usr/local/lib/libtdsodbc.so


我们为我们的渠道指出了名字,是FreeTDS,这样我们数据源:TEST1dsn和驱动:FreeTDS,就都有了,下一步就真正开始配置我们可访问的unixodbc了:


在odbc.ini中我们配置:


[andy1]
Driver=FreeTDS   #驱动名
Description=MSSQL Server
Servername=TEST1dsn     #数据源
Database=dbtest


这里我们指定了驱动是FreeTDS,数据源是 TEST1dsn,这两者之前我们都配置过了,然后我们就可以使用isql -v andy1  root root来访问我们配置好的odbc访问了~~~

AndyMacBookPro:etc andy$ isql -v andy1 root root 
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 




你可能感兴趣的:(freetds与unixodbc :freetds.conf odbcinst.ini odbc.ini 之间的关系)