`

在Linux下使用perl通过unixODBC连接SQLServer2000(转)

    博客分类:
  • Perl
阅读更多

一、关于测试环境及Linux连接SQL  Server  的说明;

测试环境:
gcc 3.3.3 , kernel 2.6.5-1 , glibc 2.3.3-27 , perl 5.8.3
关于SQL Server说明:

MS从来没有提供过SQLServer for Linux,所以大家也不要去尝试在Linux系统安装SQLServer,但是可以通过ODBC连接Windows 系统的SQLServer数据库;

Windows Server 2003用户注意:

在Windows Server 2003系统上安装的SQLServer是不会打开1433端口的,所以请Windows2003用户在安装完SQLServer之后一定装上 SQLServer SP3布丁


二、下载 相关软件 unixODBC、freetds和DBD-ODBC

首先需要下载 3个文件:

Linux系统的ODBC

unixODBC-2.2.8.tar.gz ( http://www.unixodbc.org)

连接SQLServer或Sybase的驱动

freetds-0.62.4.tar.gz ( http://www.freetds.org)

perl的ODBC模块

DBD-ODBC-1.12.tar.gz ( http://cpan.perl.org)

把下载 到的三个文件放到同一个目录

三、安装和配置;

1、安装unixODBC
# tar vxzf unixODBC-2.2.8.tar.gz
# cd unixODBC-2.2.8
# ./configure --prefix=/usr/local/unixODBC
# make
# make install



2、安装freetds
# tar vxzf freetds-0.62.4.tar.gz
# cd freetds-0.62.4
# ./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC --with-tdsver=8.0
# make
# make install


3、安装DBD-ODBC


在安装之前要先设置一下环境变量
# export DBCHOME=/usr/local/unixODBC


之后开始编译安装
# tar vxzf DBD-ODBC-1.12.tar.gz
# cd DBD-ODBC-1.12
# perl Makefile.PL
# make
# make install

所有的软件到现在都安装完成了,接下来就是配置了

4、配置freetds
# cd /usr/local/freetds
# vi etc/freetds.conf


修改以下的一段,并把;去掉
改好之后的内容:
[MyServer2k]
host=192.168.0.32
port=1433
tds version=8.0

其中的[MyServer2k]代表在客户端使用的服务器 名称,host代表SQLServer服务器 的IP地址,port代表端口,测试连接;
# bin/tsql -S MyServer2k -H 192.168.0.32 -p 1433 -U sa -P password
1> use gameDB
2> go
1> select count(*) from t_ip
4
1> quit


一切都很顺利
现在来说明以下这些参数的作用,-S MyServer2k是在freetds.conf中定义好的,-H 192.168.0.32服务器IP地址,和freetds.conf中的一致,如果使用了-S参数,这个参数可以不用,-p 1433用来指定端口是1433 ,-U sa用来指定连接数据库 的用户名,-P password用来指定连接数据库的密码。


5、配置unixODBC
# cd /usr/local/unixODBC


向 ODBC添加SQLServer驱动
# vi etc/odbcinst.ini


写入如下内容:
[TDS] ;驱动名称
Description = MS-SQLServer ;描述
Driver = /usr/local/freetds/lib/libtdsodbc.so ;驱动程序
Setup = /usr/local/freetds/lib/libtds.so ;不要问我,我也不知道这是什么
FileUsage = 1


保存退出
添加DSN
# vi etc/odbc.ini


写入如下内容
[123] ;DSN名称
Driver = TDS ;ODBC驱动
Server = 192.168.0.32 ;服务器IP
Database = gameDB ;要使用的数据库
Port = 1433 ;端口
Socket =
Option =
Stmt =


保存并退出,测试ODBC的连接
# bin/isql -v 123 sa password
SQL> select count(*) from t_ip
+----------+
| |
+----------+
| 4 |
+----------+
SQL> quit

OK,测试通过,开始测试 perl能否正确使用ODBC
在使用perl连接ODBC之前要做些准备工作
把ODBC的共享库都复制到/usr/lib目录
# cp /usr/local/unixODBC/lib/libodbc.* /usr/lib

6、perl脚本测试能否成功;
# vi test.pl


内容如下
#!/usr/bin/perl
use DBI;
$dbh=DBI->connect('dbi:ODBC:123','sa','password');
my $sth=$dbh->prepare("select * from t_ip";
$sth->execute();
while (@data=$sth->fetchrow_array()){
print "$data[0] $data[1] $data[2]\n";
}


保存退出
# perl test.pl

分享到:
评论

相关推荐

    linux下oracle通过unixODBC连接MySQL

    linux下oracle通过unixODBC连接MySQL linux下oracle通过unixODBC连接MySQL

    Linux下通过odbc连接sqlserver服务器的安装包

    在Linux环境中,与Windows系统不同,SQL Server数据库的直接访问通常需要通过ODBC(Open Database Connectivity)驱动程序来实现。本安装包包含了两个关键组件,它们是连接SQL Server的基石:freetds和unixODBC。 1...

    linux操作系统配置ODBC数据源连接SQL Server

    在Linux环境中,通过配置ODBC(Open Database Connectivity)数据源来连接SQL Server是一种常见的需求。ODBC提供了一种标准的方式来访问各种数据库管理系统(DBMS),使得应用程序可以与不同的数据库进行交互而无需...

    linux下连接sqlserver配置及otl编程.docx

    本文详细介绍了在Linux环境中配置连接Microsoft SQL Server数据库的方法,包括所需的包(`unixODBC`和`freetds`)的安装、配置,以及如何使用OTL进行编程。通过遵循这些步骤,可以实现在Linux环境下顺利地与SQL ...

    linux 操作sqlserver源码

    在Linux环境下操作SQL Server源码是一项技术挑战,但通过安装特定的开源软件,这个任务变得可行。本篇文章将深入探讨如何在Linux上建立与SQL Server的连接,主要涉及UnixODBC和FreeTDS这两个关键组件,以及它们在OTL...

    Linux下链接SQL2000完整教程

    在Linux环境下,与Windows上的Microsoft SQL Server 2000进行交互可能会遇到一些挑战,但通过使用特定的工具和技术,这个过程是完全可行的。本文将深入探讨如何在Linux上建立到SQL Server 2000的连接,包括安装必要...

    linux下通过unixODBC连接gbase8s.docx

    在Linux环境下,UnixODBC是一个开源的ODBC(Open Database Connectivity)驱动程序管理器,它允许用户通过统一的接口与各种不同的数据库系统进行交互。在本案例中,我们将讨论如何在Redhat 6上配置UnixODBC以连接到...

    linux数据连接unixodbc

    ODBC是一种广泛使用的数据库应用程序接口,允许应用程序通过统一的方式访问不同的数据库管理系统(DBMS),无论这些系统是SQL Server、Oracle、MySQL还是其他任何支持ODBC的DBMS。 UnixODBC的核心在于它的驱动程序...

    CentOS系统安装SQLServer教程

    对于运行在Linux环境下的应用程序来说,能够高效地安装与配置SQL Server 成为了一个不可或缺的能力。本文将详细介绍如何在CentOS系统上安装并配置SQL Server 的步骤,帮助读者掌握这一关键技术。 #### 二、准备工作...

    在Linux和WINDOWS下通过ODBC访问Oracle和SQL Server数据库的解决方案

    本篇文章将深入探讨如何在Linux和Windows操作系统下,通过ODBC(Open Database Connectivity)来访问Oracle和SQL Server这两种常见的关系型数据库。 首先,ODBC是一种标准的数据库访问接口,它允许应用程序通过一个...

    laravel5使用freetds连接sql server的方法

    如果你的应用同时需要连接MySQL和SQL Server,可以通过在Model中指定`$connection`属性来选择使用哪个数据库,例如: ```php protected $connection = 'mssql'; protected $table = 'EMPLOYEE'; ``` 这样,模型将...

    linux下centos7部署sql server.docx

    "Linux 下 CentOS 7 部署 SQL Server" Linux 是一个流行的开源操作系统,而 CentOS 7 是基于 Red Hat Enterprise Linux 的一个发行版。SQL Server 是一个关系数据库管理系统,由微软公司开发。下面是将 SQL Server ...

    Django 连接sql server数据库的方法

    1. 环境准备:确保你使用的是Windows或Linux操作系统,因为SQL Server可以在这些平台上运行。 2. 安装依赖:首先需要在你的Python环境中安装Django和必要的数据库驱动程序。由于Django默认不支持SQL Server,所以...

    unixODBC-2.3.0

    在Linux环境下,unixODBC扮演了桥梁的角色,连接应用程序和各种数据库服务器,包括SQL Server。 描述中的“ODBC11 sqlserver client for linux”表明这是一个专为连接到Microsoft SQL Server的ODBC驱动程序,适用于...

    Linux下C访问MSSQL2000实例

    在Linux环境下,开发C语言应用程序并使用ODBC(Open Database Connectivity)访问远程Windows主机上的Microsoft SQL Server 2000或2005数据库是一项挑战,但完全可行。本实例将详细阐述如何实现这一目标,涉及的主要...

    sqlserver_driver

    Microsoft 提供了针对 Linux 的 SQL Server ODBC 驱动,以方便开发者在 Linux 平台上连接到 SQL Server 数据库。 #### 二、安装准备 **2.1 下载所需文件** 在安装之前,需要下载两个压缩包: - `msodbcsql-11.0....

    Linux_Unix下ODBC的安装.rar_odbc _unixodbc谁开发

    在Windows环境下,ODBC已经非常成熟,但在Linux和Unix操作系统中,由于其开源和多样的特性,ODBC的实现通常依赖于第三方项目,如unixODBC。本篇文章将详细介绍在Linux和Unix环境下如何安装、配置以及进行ODBC编程。 ...

    perl 连接数据库所需包

    DBD::ODBC是Perl中的ODBC驱动,它允许Perl程序通过ODBC连接到任何支持ODBC的数据库,比如Microsoft SQL Server、IBM DB2或者PostgreSQL。 UnixODBC是Unix平台上的一个ODBC实现,它提供了一个ODBC驱动管理器,使得...

    在Mac上使用FreeTDS、UnixODBC、pyodbc连接Sybase

    在Mac操作系统上使用Python连接到Sybase数据库,通常需要通过FreeTDS、UnixODBC和pyodbc这三个组件来实现。以下是详细的配置和使用步骤: **1. UnixODBC安装:** UnixODBC是Unix和Linux系统上的一个开放源代码ODBC...

Global site tag (gtag.js) - Google Analytics