热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu系统配置PHP通过PDOunixODBC连接MSSQLServer2005数据库

ubuntu配置PHP通过PDOunixODBC连接MSSQLServer2005同事费了好大力气配置好的。这是他整理的配置过程!1安装unixODBC和freeTDSapt-getinstallunixodbcapt-getinstallunixodbc-devapt-getinstallodbcinst1debia

ubuntu 配置PHP通过PDO unixODBC 连接 MSSQL Server 2005

同事费了好大力气配置好的。这是他整理的配置过程!

1 安装unixODBC和freeTDS

apt-get install unixodbc

apt-get install unixodbc-dev

apt-get install odbcinst1debian1

apt-get install tdsodbc

apt-get install freetds-dev

apt-get install freetds-bin

2 freeTDS配置

vi /etc/freetds/freetds.conf 

[global]增加

client charset = UTF-8

下面增加

[mssql20051]

    host=192.168.0.1

    port=1433

    tds version=8.0

[mssql20052]

    host=192.168.0.2

    port=1433

    tds version=8.0

tsql测试连接两个mssql服务器

tsql -S mssql20051 -U sa -P 123 -D test

tsql -S mssql20052 -U sa -P 123 -D test

执行sql没问题

sql返回的编码与系统locale有关。

3 unixodbc配置文件

vi /etc/odbcinst.ini

[TDS]

Description=MS-SQLServer

Driver=/usr/lib/odbc/libtdsodbc.so

Setup=/usr/lib/odbc/libtdsS.so

UsageCount=1

vi /etc/odbc.ini

[ODBC Data Sources]

mssql1     = MS SQL ODBC 2.50 Driver DSN

mssql2     = MS SQL ODBC 2.50 Driver DSN

[mssql1]

Driver       = /usr/lib/odbc/libtdsodbc.so

Description  = MySQL ODBC 2.50 Driver DSN

Servername   = mssql20051

Database     = test

Trace        = No

[mssql2]

Driver       = /usr/lib/odbc/libtdsodbc.so

Description  = MySQL ODBC 2.50 Driver DSN 

Server       = 192.168.0.2

Port         = 1433 

User         = sa 

Password     = 123

Database     = test

Option       = 3

Socket       =

Trace        = No 

TDS_VERSION  = 8.0

注意mssql1和mssql2里面一个是Servername一个是server的ip

如果使用Servername,则填写freetds.conf里面的配置

测试连接

isql -v mssql1 sa 123

执行sql返回结果的编码与locale有关

isql -v mssql2 sa 123

执行sql返回结果的编码是GBK

4 编译php

./configure  --with-unixODBC=/usr --with-pdo-odbc=unixODBC,/usr --with-apxs2=/usr/local/apache2/bin/apxs 

make

make install

5 php测试代码

   //TDS Driver , only support GBK

   $dsn = "odbc:Driver=TDS; Server=192.168.0.1; Uid=sa; Pwd=123; Database=test;";

   $c = new PDO($dsn);

   //MiscroSoft sqlsrv for php windows ,support utf8,  add mssql.charset=utf8  in php.ini

   //$c = new PDO( "sqlsrv:Server=192.168.0.1 ; Database = test", "sa", "123", array(PDO::SQLSRV_ATTR_DIRECT_QUERY => true)); 

   //Linux, TDS Data Source, support utf8

   //$c = new PDO('odbc:mssql1','sa','123');

   $query = 'SELECT top 5 * FROM userinfo';

   $stmt = $c->query( $query );

   while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ) {

      print_r( $row );

   }

   $c = null;

?>

   //TDS Driver , only support GBk

   $dsn = "odbc:Driver=TDS; Server=10.1.3.252; Uid=sa; Pwd=sqltest; Database=bc_cric_lj;";

   $c = new PDO($dsn);

   //MiscroSoft sqlsrv for php windows 

   //$c = new PDO( "sqlsrv:Server=172.18.3.104 ; Database = test", "sa", "123", array(PDO::SQLSRV_ATTR_DIRECT_QUERY => true)); 

   //Linux, TDS Data Source, support utf8

   //$c = new PDO('odbc:mssql','sa','sqltest');

   $query = 'SELECT top 5 * FROM criclj_internal_home_baseinfo';

   $stmt = $c->query( $query );

   while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ) {

      print_r( $row );

   }

   $c = null;

?>


推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 本文详细介绍了在 Ubuntu 16.04 系统中使用 APT-GET 包管理器安装 MySQL 5.7 数据库的过程,并对安装后的文件和目录结构进行了说明,包括重要的配置文件及其功能。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • JavaScript 中创建对象的多种方法
    本文详细介绍了 JavaScript 中创建对象的几种常见方式,包括对象字面量、构造函数和 Object.create 方法,并提供了示例代码和属性描述符的解释。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
author-avatar
mobiledu2502912377
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有