在Linux下访问MS SQL Server数据库

linux 访问 MS sql Server 数据库 sql Server2008 R2 linux 连接 ms sql Server 阅读详情
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下的SQLServer,但提供了免费的CT-LIB的客户端,这也可能是许多IT管理人员在为公司数据库选型时不再考虑Oracle或Informix的理由之一。当然现在情况有所改变。

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

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

   tarzxvflinuxelfdynamictar.gz

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

   mvsybase/usr/local

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

   1.Interface文件举例如下:

   MSSQL

   querytcpethermysql1433

   其中: MSSQL是客户端使用的服务器名,以后引用MSSQL即可; mysql是服务器的地址或名字,如果是名字,则系统能够查到其IP地址; 1433是SQLServer的端口号,MicrosoftSQLServer的缺省值是1433,Sybase是5000。

   2.SYBASE环境变量,内容是Sybase客户端所在的目录:

   ExportSYBASE=/usr/local/sybase

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

   exportSYBPLATFORM=Linux

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

   使用SQSH界面访问SQLServer

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

   tarzxvfsqsq1.6.0tar.gz
   cdsqsh1.6.0
   ./configure
   make;makeinstall

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

   Sqsh的使用如下:

   #sqsh--Uusername--Ppassword--Sservername

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

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

   如下是一个例子:

   1>usepubs
   2>go
   1>select*fromauthors
   2>go采用CT-LIB编写应用程序

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

   利用Sybperl编写应用程序

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

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

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

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

   perlMakefile.PL

   make;maketest;makeinstall

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

   #!/usr/bin/perl
   useSybase::CTlib;
   $dbh=newSybase::CTlib'sa','','MSSQL';
   $dbh->ct_execute("selectau_id,au_lname, au_fnamefrompubs.dbo.authors");
   while($dbh->ct_results($restype)==CS_SUCCEED){
   nextunless$dbh->ct_fetchable($restype);
   while(($au_id,$au_lname,$au_fname)=$dbh->ct_fetch){
   print"$au_id-$au_lnameau_fname/n";
   }
   }

   可以看出,短短几行语句,就可以完成对数据库的操作。

   以上从几个方面对在Linux下访问MSSQLServer数据库进行了说明,介绍了基本的API编程、SQSH命令行访问、Perl访问。其实,在Linux下还可采用其他方式进行访问,如采用第四级的JDBC进行访问,这时除了Java和JDBC外,并不需要其他软件(具体信息可访问http://www.connectsw.com)。 
AMCL代码详解(六)amcl中的重采样 每次都从w1左边的竖线开始转,显而易见,转到w1的概率为0-w1之间的随机数,转到w2的概率为w1到w1+w2之间的随机数,转到w3的概率为w1+w2到w1+w2+w3之间的随机数,后面的依次类推。当某个粒子的权值较大的时候,产生的随机数落在相应区间的概率就会增大,从而实现了对权值大粒子的多次复制,权值小的粒子的剔除。可以看出,在整个重采样的过程中,粒子进行了两次种情况的刷新,一种是随机生成的新的粒子,一种是对原来的粒子的复制。得到的值越大,说明粒子的权重越小,当前粒子的可信度比较小,需要重采样粒子。 阅读详情

相关推荐

4万字一文带你看懂车载摄像头技术、市场、发展前景

1、小孔成像 在战国初期,我国学者墨子(公元前468年-公元前376年)和弟子们完成了世界上第一个小孔成像的实验,并记录在《墨经》中:“景到,在午有端,与景长。说在端。”“景。光之人,煦若射,下者之人也高;高者之人也下。足蔽下光,故成景于上;首蔽上光,故成景于下。在远近有端,与于光,故景库内也。” 此文解释了小孔成倒像的原因,指出了光沿直线传播的性质。这是对光直线传播的第一次科学解释。 而西方世界直到公元前350年,古希腊学者亚里士多德提出光学法则,西方人从此了解小孔成像的光学原理。

m0_58838529的博客 1495

SQL Server On Linux(24)——SQL on Linux 备份和还原(1)——备份

本人新书上市,请多多关照:《SQL Server On Linux运维实战 2017版从入门到精通》 简介   备份和还原的重要性这里就不多说了,但是需要额外提醒一下,备份和还原应该总是“一个”操作,不考虑还原的备份不能认为是有价值的备份。   本文重点在Linux上的SQL Server备份,关于Windows上的SQL Server备份,网上已经有很多成熟的资料,这里就不累赘了。   备份的...

MVP黄钊吉(發糞塗牆) 1074

新一代XMOS会议四麦方案主控芯片 XVF3800

2023年,知名的音频芯片制造厂商 XMOS 正式发布了新一代会议麦阵芯片片 XVF3800 ,这款芯片采用最先进的四麦音频算法,可在嘈杂的环境中提供高质量语音,算法支持圆形、条形阵列,可根据应用场景组成不同的产品形态。传统的麦阵解决方案,不仅需要捕捉会议中的人声,也会同时捕捉环境中的其他噪声,而 XMOS 先进的语音算法解决了这一问题。声学回声消除功能可消除麦克风音频输入的回声,同时减少远端回声,使 XVF3800 能提取清晰的语音信号。• 180度拾音条形麦克风阵列。• 360度拾音环形麦克风阵列。

PawPaw_electron的博客 785

如何在Linux上设置SQL Server日志传送

.SQLCode { font-family: monospace; font-weight: 500; white-space: pre; overflow: auto; margin-top: 12px; margin-bottom: 12px; font-size: 15px !...

culuo4781的博客 538

手把手教你设计反激开关电源:从整流滤波到PCB布局的实战避坑指南

本文是一份反激开关电源的实战设计指南,重点解析了从整流滤波电路到PCB布局的关键细节与常见陷阱。文章深入探讨了输入保护元件协同设计、EMI滤波器优化、整流桥与滤波电容选型,并详细阐述了如何通过优化PCB布局来确保安规、最小化功率回路面积以控制噪声,旨在帮助工程师和爱好者规避设计误区,提升电源的可靠性与性能。

yhn45678901的博客 692

ESD防护设计宝典(二十三):ESD与EOS失效差异分析

ESD和EOS是电子制造业面临的两大挑战,随着电子产品向更高集成度、更低工作电压和更高工作频率发展,这一问题将更加突出。根据美国军方上世纪八十年代与可靠性分析中心(RAC)共同建立的现场失效返回程序(FFRP)统计数据,产品现场返回中EOS占比高达46%,而ESD仅占6%,另有6%的案例难以区分是EOS还是ESD。

m0_56451176的博客 322

sqlserver for linux自动备份数据库脚本

不多说直接上脚本 #/bin/bash user=multiverse passwd=Multiverse1113 back_path=/var/opt/backup/ db_name=multiverse back_time=`date +%Y%m%d_%H%M%S` back_filename=$back_path$db_name$back_time del_time=`date -d "2 ...

weixin_33814685的博客 1249

NVP6324、NVP6188、NVP6158C的区别详解

根据搜索结果,NVP6324、NVP6188、NVP6158C是Nextchip公司推出的不同型号视频处理芯片,主要区别体现在应用场景、功能特性、接口支持及封装规格等方面。如需进一步技术细节(如寄存器配置或开发支持),可参考具体型号的规格书或联系Nextchip代理商。

小灰灰的博客 3004

配置 sql server linux,配置SQL Server on Linux(2)

1. 前言前一篇配置SQL Server on Linux(1),地址:http://www.cnblogs.com/fishparadise/p/8125203.html ,是关于更改数据库排序规则的。实现的原理跟在Windows平台差不多,都是需要备份用户数据库,重建系统数据库来实现的,不过操作过程简化了。下面的配置是一些常规的设置,比如最大内存,默认数据文件位置,等。2. 环境Linux: ...

weixin_39753213的博客 431

Android 车联网——CarAudioService介绍(六)

CarAudioService 是 Android Automotive OS 中的一个重要组件,用于管理车辆中的音频功能。它是 Android Auto 的一部分,负责处理车辆音频的播放、控制和路由。CarAudioService 使用标准的 Android 组件架构,基于 Binder 通信机制,提供了一组 API,用于管理车辆音频。它包括以下主要功能:音频路由管理:CarAudioService 可以让开发者控制音频的路由,即将音频发送到不同的输出设备,例如车辆的扬声器、耳机等。

小旭的专栏 3202

AD22等长布线规则

本文介绍了PCB布线中实现信号线等长的详细操作步骤:1.创建网络类(NetClass),将需要等长的信号线归入同一组;2.设置高速布线规则(High-SpeedRule),定义等长容差等参数;3.进行交互式等长布线(InteractiveLengthTuning),使用蛇形线调整线长;4.实时调整与最终检查,确保所有网络满足等长要求。文中还提供了实用技巧,如使用快捷键调整蛇形线参数、为关键信号设置更严格规则等。操作需在PCB设计软件中完成,通过统一管理、规则设置和精确调整来实现信号同步传输。

whm128的博客 1557

linux备份多个数据库,Linux下自动备份MySQL多个数据库

这里只提供脚本,和以前写的《Aix 5.3下自动备份Oracle多个实例》如出一辙,如果要加入at或者crontab,请参考《CentOS5.4下自动备份MySQL数据库》这个大家再研究吧。#MySQL User InformationUSERNAME=数据库用户名(信息隐藏)PASSWORD=数据库密码(信息隐藏)#Back fileFILE_PREFIX=MySQL_#FTP Server I...

weixin_32770297的博客 346

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

[转]在Linux下访问MS SQL Server数据库

Linux作为一个免费的Unix类操作系统,以其开放性源代码、多任务、X-window等特点为众多的用户所采用,并有很多企业采用Linux来作为其内部网的全功能服务器(WWW,FTP,Email、DNS)。企业的内部网不仅要提供文本信息的访问,还要能提供对企业关系数据库中的信息的访问。SQLServer以其低成本、性能高以及与NT的有效集成等特性为许多企业所采用,但Microsoft不提供其Uni

wuhran的Blog-C++,Linux,MySQL,PHP 1392

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

在Linux下访问MS SQL Server数据库(转)

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 502

在Linux下访问MS SQL Server数据库(转)

在Linux下访问MS SQL Server数据库[@more@]Linux作为一个免费的Unix类操作系统,以其开放性源代码、多任务、X window等特点为众多的用户所采用,并有很多企业采用Linux来作为其内部网的全功能服...

csobhtdx34120的博客 236

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

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

weixin_33946020的博客 127

Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)

Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码) (1)安装freeTDS FreeTDS为Linux系统提供了TDS协议的开源客户端。由于MS SQL和Sybase使用的恰是TDS协议,所以在Linux中可以用FreeTDS

zhangm168的专栏 6660
上一篇: 一个例子
下一篇: 十年对日软件开发你得到了什么?
luanbin
博客等级 码龄23年 6粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值