300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > linux下使用odbc连接mysql_Linux环境下通过ODBC访问MSSql Server

linux下使用odbc连接mysql_Linux环境下通过ODBC访问MSSql Server

时间:2019-04-18 08:32:07

相关推荐

linux下使用odbc连接mysql_Linux环境下通过ODBC访问MSSql Server

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

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

64bit Red HatEnterprise Linux 5

64bit Red Hat Enterprise Linux 6

64bitSUSE Linux Enterprise 11 Service Pack 2

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

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

1. 下载安装包

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 forSQL Server

Server= 192.168.1.10UID=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上:/ratzhou/CodeIgniter。以下是使用修改后的CodeIgniter框架通过ODBC连接MSSql Server的例子:

class Test extendsCI_Controller {public functionindex() {

$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());

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。