Linux环境下通过ODBC访问MSSql Server

为了解决Linux系统连接MSSql Server的问题,微软为Linux系统提供了连接MSSql Server的ODBC官方驱动。通过官方驱动,Linux程序可以方便地对MSSql Server进行访问。

官网提供了三个版本的驱动,分别用于以下发行版的Linux系统:

64bit Red Hat Enterprise Linux 5

64bit Red Hat Enterprise Linux 6

64bit SUSE Linux Enterprise 11 Service Pack 2

(实测 64bit CentOS 6.4 和 64bit CentOS 7.1 可以安装使用64bit Red Hat Enterprise Linux 6版本的ODBC驱动)

安装配置过程可以通过以下步骤完成:

1. 下载安装包

Red Hat 5/6:https://www.microsoft.com/en-us/download/details.aspx?id=36437

SUSE 11:http://www.microsoft.com/en-us/download/details.aspx?id=34687

2. 安装unixODBC 2.3.0

# 以red hat 6版本为例
tar xzf msodbcsql-11.0.2270.0.tar.gz
cd msodbcsql-11.0.2270.0
./build_dm.sh

3. 安装Microsoft ODBC Driver 11 for SQL Server on Linux

./install.sh install

4. 通过命令行连接到数据库服务器

安装完驱动后就可以通过驱动自带的命令行工具测试连接了:

sqlcmd -S 192.168.1.10 -U sa -P sa -d master -Q ‘select "Hello World"‘

假如连接成功,该命令就会输出“Hello World”的查询结果

5. 配置unixODBC数据源

sqlcmd命令除了可以通过指定地址、用户名密码连接数据库外,还可以通过指定数据源名称连接数据库。数据源可以通过unixODBC所提供的odbcinst命令进行配置:

1). 建立模版配置文件 template.ini,内容如下

[DataSourceName]
Driver = ODBC Driver 11 for SQL Server
Server = 192.168.1.10
UID = sa
PWD = sa
Database = master

2). 导入配置

odbcinst -i -s -l -f template.ini

执行完之后,可以再次通过sqlcmd命令工具来测试连接

sqlcmd -S DataSourceName -Q ‘select "Hello World"‘

该命令和前面的直接指定IP地址和用户名密码的命令得到同样的结果

6. 通过PHP连接到数据库服务器

该例子是通过修改CodeIgniter 3.0.0的mssql driver,把所有原mssql_* API 替换成odbc_* API,让所有数据库操作都通过ODBC连接进行,同时也复用了原CodeIgniter框架对mssql的支持。项目代码托管在github上:https://github.com/ratzhou/CodeIgniter。以下是使用修改后的CodeIgniter框架通过ODBC连接MSSql Server的例子:

<?php
defined(‘BASEPATH‘) OR exit(‘No direct script access allowed‘);

/*
 * file name: application/controllers/Test.php
 */

class Test extends CI_Controller {
        public function index() {                $config[‘dbdriver‘] = ‘mssql‘;
                $config[‘dsn‘] = ‘DataSourceName‘;

                // 这里仍然需要指定数据库名和用户名密码                $config[‘database‘] = ‘my_database‘;
                $config[‘username‘] = ‘sa‘;
                $config[‘password‘] = ‘sa‘;

                $mssql = $this->load->database($config, true);
                $result = $mssql->get(‘my_table‘);
                var_dump($result->result_array());
        }
}
时间: 2024-10-13 15:43:59

Linux环境下通过ODBC访问MSSql Server的相关文章

Linux环境下用Docker搭建SQL SERVER开发环境

第一步:安装Dokcer 见官方文档 第二步:安装SQL SERVER镜像 sudo docker run -e 'ACCEPT_EULA=Y' -e '[email protected]' -p 1444:1433 --name mssql -d microsoft/mssql-server-linux:2017-latest Microsoft SQL Server的Docker镜像名为:microsoft/mssql-server-linux,tag为2017-latest SQL Ser

Linux环境下安装Tigase XMPP Server

Tigase是一种XMPP服务器,可以作为采用XMPP协议的各种IM(Instant Messeging)工具(如Pandion.Spark等)的服务器. 在Linux环境下安装Tigase的步骤如下: (1)下载安装文件 到https://projects.tigase.org/projects/tigase-server/files下载安装文件,我下载的是tigase-server-5.2.0-b3447-dist.tar.gz. (2)解压缩 创建一个文件夹,将tigase-server-

(1)Jenkins Linux环境下的简单搭建

(1)Jenkins Linux环境下的简单搭建 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. ----百度百科 这是一款基于Java开发的工具.种种原因,最近刚开始接触,决定研究一下.Jenkins的搭建方法不止一种,一下就是个人总结的其中一种,文章内容比较浅显,不足之处,欢迎指正. 首先,所需要准备的工具JDK.Maven.资料上显示JDK版本最好高于1.7,并没有研究1.7以下版本,所谓"没有实际调研,就没有发言权",在此就不做过多

【原创】Linux环境的图形系统和AMD显卡驱动编程(1)——Linux环境下的图形系统简介

Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后.开源社区开发开发了一些新的图形系统,比如Wayland图形系统. 由于图形系统.3D图形本身的复杂以及历史原因,Linux下的图形系统相关的源码庞大而且复杂,而且缺少学习的资料(所有源代码分析或者驱动编程的书籍都很少介绍显卡驱动).在后续一系列文章中,笔者将从对AMD硬件编程的角度出发对部分问题做一个简单的

全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】

安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装配置系统环境安装linux ,所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭) 打开终端,执行如下命令,检查安装包,没有的都要安装 make, glibc, libaio compat-libstdc++, compat-gcc-34, compat-gcc-34-c++, gc

JMeter在Windows Linux环境下的安装使用

一.Windows环境下测试 1.下载: 官网地址:http://apache.fayea.com//jmeter/binaries/apache-jmeter-2.12.zip 2.打开: 进入bin目录下 运行jmeter.bat 3.使用: 0>.在测试计划中添加一个线程组 1> 配置线程组,主要是取样器错误后执行动作.线程数.循环次数 2> 添加一个测试对象 即取样器.主要参数:IP,Port,协议,方法,路径,传递的参数. 其中参数部分,可以直接在Parameters框体中填入

Linux环境下的图形系统和AMD R600显卡编程(1)——Linux环境下的图形系统简介

转:https://www.cnblogs.com/shoemaker/p/linux_graphics01.html Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后.开源社区开发开发了一些新的图形系统,比如Wayland图形系统. 由于图形系统.3D图形本身的复杂以及历史原因,Linux下的图形系统相关的源码庞大而且复杂,而且缺少学习的资料(所有源代码

mosquitto在Linux环境下的部署/安装/使用/测试

mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. 使用传统源码安装步骤: 步骤1:http://mosquitto.org/files/source/官网下载源码,放到Linux环境中.解压后,找到主要配置文件config.mk,其中包含mosquitto的安装选项,需要注意的是,默认情况下mosquitto的安装需要OpenSSL(一个强大的安全

ant+jmeter 在Linux环境下接口自动化测试环境搭建(2)

上一篇讲过在Windows下搭建的方法,今天这里写一下在Linux环境下搭建的方法. 实验准备:Linux服务器一台. 服务器上安装好jdk,配置好环境变量. 服务器上配置好ant. 工具准备: Jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html Jmeter下载地址 http://jmeter.apache.org/ Ant下载地址 http://ant.apache.org/ 环境准备: 所以