龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Sql Server开发 >

freetds简介、安装、配置及使用介绍

时间:2014-08-09 11:23来源:网络整理 作者:网络 点击:
分享到:
简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库! FreeTDS是一个让SYBASE和Microsofte数据库客户端和其数据库服务通信的工具,其能够完成例如DB-Lib,CT-Lib,ODBC,JDBC和P

什么是FreeTDS
  简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库! FreeTDS 是一个开源(如果你喜欢可以称为自由)的程序库,是TDS(表列数据流 )协议的再次实现。它可以被用在Sybase的db-lib或者ct-lib库。它也包含一个ODBC的库。允许许多开源的应用软件比如Perl和PHP(或者你自己的c或C++程序)去连接到Sybase或 Microsoft SQL服务器。FreeTDS 以源码的形式被发布,几乎可以在任何操作系统上编译。意味着Unix和类Unix系统(包括著名的分支如Interix和QNX),还有Win32,VMS,和OSX。

FreeTDS的安装
1.下载freetds,点此下载 http://www.jb51.net/database/201983.html

2.将其解压到任意目录,进入到解压后的文件夹里。

3.切换到root,配置: ./configure –prefix=/usr/local/freetds –with-tdsver=8.0 –enable-msdblib 解释:–prefix为设置FreeTDS的安装目录,–with-tdsver是设置TDS版本, –enable-msdblib为是否允许Microsoft数据库函数库

4.make & make install

5.配置环境变量:vim ~/.bashrc向此文件中加入: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/freetds/lib/

FreeTDS测试:
FreeTDS安装好了,接下来就可以查看下FreeTDS状态了;

运行./tsql  -C ,在安装目录的bin目录下可以找到tsql ,查看终端打印出来信息,这个-with-tdsver=7.1:

关于安装参考
http://linux.chinaunix.net/techdoc/database/2008/10/31/1042291.shtml 或者:http://www.linuxdiyf.com/viewarticle.php?id=109086

 FreeTDS的配置
  freeTDS 的配置文件,FreeTDS也支持一个旧的配置文件interfaces,但请使用freetds.conf 除非你的环境必须使用interfaces。FreeTDS首先找freetds.conf文件如果没有找到才去找 interfaces文件。 freetds.conf文件默认在/usr/local/freetds/etc目录下,但是可以在configure时配置 sysconfdir选项,这个选项就是freetds.conf文件所存在的目录。freetds.conf配置文件分为两部分:一是[global]部分,另外一个是[dataserver]部分,其中 [dataserver]对应一个数据库。在golbal中的设置是对全部数据库起作用的,但在dataserver 部分的设置只对自己的数据库起作用,并且可以覆盖全局的设置。

例如: freetds.conf文件:

[global]
tds version = 4.2
[myserver]
host = ntbox.mydomain.com
port = 1433
[myserver2]
host = unixbox.mydomain.com
port = 4000
tds version = 5.0

  这个文件中global设置所有数据库使用tds版本为4.2,但在myserver2中使用的版本却是5.0, 如果myserver2中没有这一项,那就是用4.2版本的如myserver。

其配置项解释如下:

ltds version       : 指明tds协议的版本,连接数据库时使用,如果在环境变量中没有设置 此项,则由此配置决定,协议版本可取4.2,5.0,7.0,8.0。

lhost                 : 数据库服务器的主机名或者ip地址。

lport                 : 数据库服务器的监听端口,可以取任何有效的端口值,一般而言Sybase SQL10以前为 1433,10以上用5000,而Sybase SQLAnywhere 7是2638,Microsoft SQL server则用 1433。此配置可以被环境变量中的TDSPORT改写。

linitial block size : 此值只能取512的倍数,默认为512,指定了协议块的最大值, 一般不要改变此默认 配置。

ldump file          : 任何有效的文件名,指明了转储文件的路径并且会打开日志记录。

ldump file append: yes或者no,决定是否追加保存到dump file文件中。

ltimeout            :设置处理的最大等待时间。

lconnect timeout: 设置连接的最大等待时间。

lemulate little endian: yes或者no,是否强制大端机使用小端方式与MS Server通信。

lclient charset   : 任何有效的iconv字符集。默认值为ISO-8859-1,使FreeTDS使用 iconv在数据库服务器和用户程序之间转换。

FreeTDS函数
1. Dbcmd和dbfcmd

函数原形: Dbcmd(DBPROCESS *proc,char * sql);

        Dbcmd(DBPROCESS *proc, char * format,char *args);

功      能:该函数主要是构造sql语句,一个是带参数的,一个不带参数。

2. Dbsqlexec

函数原形:Dbsqlexec(DBPROCESS *proc);

功      能:该函数负责执行你所构造的sql语句。

3. Dbresults

函数原形:Dbrerults(DBPROCESS *proc);

精彩图集

赞助商链接