UnixODBC与FreeTDS安装配置教程
4星 · 超过85%的资源 需积分: 48 77 浏览量
更新于2024-09-18
收藏 2KB TXT 举报
本文档是关于在Unix系统上安装unixODBC、freetds和DBD-ODBC的详细步骤,以实现与Microsoft SQL Server的连接。
UnixODBC是一个开放源代码的ODBC(Open Database Connectivity)驱动程序管理器,它允许在Unix和Linux系统上与各种数据库进行通信。freetds是一个开源的库,提供了对Microsoft SQL Server和Sybase的连接支持。DBD-ODBC是Perl模块,通过ODBC接口来访问数据库。
下面是安装过程的详细步骤:
1. 首先,确认Perl和DBI模块已经安装。可以运行`perl -MDBI -e 'DBI->installed_versions'`来检查DBI是否已安装。
2. 安装unixODBC:
- 解压下载的unixODBC源码包,例如:`tar xvf unixODBC-2.2.12.tar.gz`
- 进入解压后的目录,如:`cd unixODBC-2.2.12`
- 运行配置脚本,并指定安装路径:`./configure --prefix=/usr/local/unixODBC`
- 编译源码:`make`
- 安装编译后的二进制文件:`make install`
3. 安装freetds:
- 解压freetds源码包,例如:`tar xvf freetds-0.64RC2.tar.gz`
- 进入源码目录:`cd freetds-0.64RC2`
- 配置freetds,指定unixODBC的路径、TDS版本以及禁用libiconv:`./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC --with-tdsver=8.0 --disable-libiconv`
- 编译源码:`make`
- 安装编译后的二进制文件:`make install`
4. 安装DBD-ODBC:
- 设置环境变量ODBCHOME指向unixODBC的安装位置:`export ODBCHOME=/usr/local/unixODBC`
- 解压DBD-ODBC源码:`tar xzf DBD-ODBC-1.13.tar.gz`
- 进入源码目录:`cd DBD-ODBC-1.13`
- 生成Makefile:`perl Makefile.PL`
- 编译和安装:`make` 和 `make install`
5. 配置freetds:
- 打开freetds的配置文件:`vi /usr/local/freetds/etc/freetds.conf`
- 添加一个新的服务器配置,例如:
```
[MyServer2k]
host = 192.168.0.32
port = 1433
tds version = 8.0
```
- 使用tsql工具测试连接:`/usr/local/freetds/bin/tsql -S MyServer2k -H 192.168.0.32 -p 1433 -U Usa -P password`
6. 配置UnixODBC的odbcinst.ini:
- 打开UnixODBC的odbcinst.ini文件:`vi /usr/local/unixODBC/odbcinst.ini`
- 添加FreeTDS驱动的配置,例如:
```
[FreeTDS]
Description = MS-SQL Server
Driver = /usr/local/freetds/lib/libtdsodbc.so
Setup =
```
现在,Unix系统已经配置好与SQL Server的连接。可以通过创建ODBC数据源并使用Perl的DBI模块来连接和查询数据库。例如,创建一个名为"MyDSN"的数据源,并执行SQL查询:
```bash
# 创建数据源
isql -v MyDSN Usa password
# 在isql会话中执行查询
SQL> SELECT COUNT(*) FROM tablename;
```
或者,在Perl中使用DBI模块:
```perl
use DBI;
my $dsn = "DBI:ODBC:FreeTDS";
my $user = "Usa";
my $password = "password";
my $dbh = DBI->connect($dsn, $user, $password) or die $DBI::errstr;
my $sth = $dbh->prepare("SELECT COUNT(*) FROM tablename");
$sth->execute();
while (my @row = $sth->fetchrow_array()) {
print "Count: $row[0]\n";
}
$sth->finish();
$dbh->disconnect();
```
完成以上步骤后,你就可以在Unix环境中通过ODBC接口与远程的Microsoft SQL Server进行交互了。
2015-12-08 上传
2017-12-13 上传
2023-03-28 上传
2021-04-13 上传
2017-10-20 上传
2016-04-15 上传
2021-10-19 上传
kevin5034
- 粉丝: 1
- 资源: 2
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全