在Linux下访问MS SQL Server数据库

2016-01-29 16:17 3 1 收藏

在Linux下访问MS SQL Server数据库,在Linux下访问MS SQL Server数据库

【 tulaoshi.com - SQLServer 】

   Linux作为一个免费的Unix类操作系统,以其开放性源代码、多任务、Xwindow等特点为众多的用户所采用,并有很多企业采用Linux来作为其内部网的全功能服务器(WWW,FTP,Email、DNS)。企业的内部网不仅要提供文本信息的访问,还要能提供对企业关系数据库中的信息的访问。SQL Server以其低成本、性能高以及与NT的有效集成等特性为许多企业所采用,但Microsoft不提供其Unix下的客户端,为这类应用带来了困难。本文则提出了这一问题的解决方案。

安装Sybase客户端
  首先从Microsoft SQL Server和Sybase SQL Server的关系说起。两公司曾共同开发OS/2上的数据库SQL Server for OS/2,此后两公司又独立开发升级系统,Sybase的客户端可以访问Microsoft SQL Server。

  和其他数据库公司相比,可以说Sybase公司对Linux是最有善意的,它虽不提供Linux下的SQL Server,但提供了免费的CT-LIB的客户端,这也可能是许多IT管理人员在为公司数据库选型时不再考虑Oracle或Informix的理由之一。当然现在情况有所改变。

  Sybase公司发布的OpenClientforLinux是a.out格式的,在互联网上有人将其转化为ELF和动态链接的ELF格式,可从下列地址上寻找下载:http://www.mbay.net/~mpeppler。最好同时下载两个版本,正常使用时采用动态链接的版本,但有的程序在编译时可能需要一个库(libblk.a),只在ELF里面包含。

  下载以后,键入如下命令展开(假设当前目录是/usr/tmp):

  tar zxvf linux elf dynamic tar.gz

  然后将其移至/usr/local目录:

  mv sybase /usr/local

  编译和使用Sybase客户端需要进行如下的设置:

  1.Interface文件举例如下:

  MSSQL

  Query tcp ether mysql 1433

  其中:

MSSQL是客户端使用的服务器名,以后引用MSSQL即可;

mysql是服务器的地址或名字,如果是名字,则系统能够查到其IP地址;

1433是SQL Server的端口号,Microsoft SQL Server的缺省值是1433,Sybase是5000。
  2.SYBASE环境变量,内容是Sybase客户端所在的目录:

  ExportSYBASE=/usr/local/sybase

  3.如果编译Sybase客户端中的例子,则还要设置环境变量SYBPLATFORM:

  export SYBPLATFORM=Linux

  并且修改其头文件中关于服务器名称及用户名和口令的描述。

使用SQSH界面访问SQL Server
  Sybase客户端提供了xisql工具,但更多的人使用的是SQSH,SQSH是SQshell的缩写,是改进了的isql,可从下列地址下载:http://www.voicenet.com/~gray/。当前的最新版本是1.6.0。假设下载后的文件放在/usr/tmp目录下:

  tar zxvf sqsq 1.6.0 tar.gz

  cd sqsh 1.6.0

  ./configure

  make;make install

  然后,将生成的可执行文件sqsh安装到/usr/local/bin/目录下。

  Sqsh的使用如下:

  #sqsh--Uusername--Ppassword--Sservername

  其中username和password是用户名和口令,servername是在interface文件中定义的服务器名(如例子中的MSSQL)。

  Sqsh是交互式的命令行界面,命令用输入go来执行,命令如果较长可直接分成几行书写,以回车换行即可。

  如下是一个例子:

  1 use pubs

  2 go

  1 select * from authors

  2 go采用CT-LIB编写应用程序

  由于Sybase的Linux客户端不提供DB-Library,所以应采用CT-Library来编写应用程序,采用CT-Library编写应用程序可参考例子,详细的编程说明可以参考Sybase的说明。利用Sybperl编写应用程序

  Sybperl是Sybase的Perl扩展,可利用Perl语言来访问SQL Server,或者编写CGI程序。

  Sybperl可从下列地址取得http://www.mbay.net/~mpeppler。当前的最新版本是2.9.5。

  取得Sybperl的源代码展开以后,需要修改一下CONFIG文件,以下是几个参数:

  下一个要修改的文件是PWD,这是用来进行测试的,将其中的服务器名、用户名、用户口令设置成自己的配置即可。然后进行编译:

  perl Makefile.PL

  make; make test; make install

  安装成功以后,即可使用Sybperl进行编程。下面是一个简单的例子。

    #!/usr/bin/perl
   use Sybase::CTlib;
    $dbh=new Sybase::CTlib 'sa','','MSSQL';
    $dbh -ct_execute("select au_id, au_lname,
au_fname from pubs.dbo.authors");
   while( $dbh -ct_results( $restype) == CS_SUCCEED) {
    next unless $dbh -ct_fetchable( $restype);
while(( $au_id, $au_lname, $au_fname) = $dbh -ct_fetch){
    print " $au_id - $au_

来源:http://www.tulaoshi.com/n/20160129/1498133.html

延伸阅读
标签: SQLServer
1.3.4 Profiler SQL Server Profiler 是一个图形化的管理工具用于监督记录和检查SQL Server 数据库的使用情况对系统管理员来说它是一个监视用户活动的间谍 1.3.5 Client Network Utility SQL Server Client Network Utility 用于配置客户端的连接测定网络库的版本信息以及设定本地数据库的相关选项 1.3.6 Server Network Util...
标签: SQLServer
    SQL Server 的升级是一个不可逆的过程,它将对重要的系统和数据文件进行操作,有较大的风险需要格外小心。 2.3.1 升级前的准备工作     升级前为安全起见,必须确保系统能退回到升级前的状态,因此需要做一些额外的工作。其步骤如下:       1、确保操作系...
标签: SQLServer
    数据库对象是数据库的组成部分,常见的有以下几种: 3.3.1 表(Table )     数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。图3-1 中黑底白字的部分称为行,图3-2 中黑底白字的部分称为列。列由同类的信息组成,每列又称为一个字段,每列的标题称...
标签: SQLServer
启动服务器的方法有以下几种: 1、用Enterprise Manager 启动 在Enterprise Manager 的SQL Server Group 中用左键单击所要启动的服务器,或在所要启动的服务器上单击右键后,从快捷菜单中选择“Start” 项,即可启动。 2、用SQL Server Service Manager 启动 启动方法如下:  (1)从菜单中选择Service Manager 选项,启动服务...
标签: SQLServer
在计算机中数据有两种特征:类型和长度。所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类。     在SQL Server 中每个变量、参数、表达式等都有数据类型。系统提供的数据类型分为几大类,如表4-2 所示。     其中,BIGINT、 SQL_VARIANT 和TABLE 是SQL Server 2000 中新增加的3...

经验教程

51

收藏

15

精华推荐

SQL Server数据库技术(15)

SQL Server数据库技术(15)

来自星星的店长

SQL Server数据库技术(27)

SQL Server数据库技术(27)

神龙翱翔year

SQL Server数据库技术(17)

SQL Server数据库技术(17)

邂逅之王琦总

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部