Progress的ODBC并不是通用的,需要用专门的ODBC工具软件来连接,最常用的是Merant ODBC,此以Merant3.7来介绍如何连接progress数据库,由于可能存在不同的操作系统,当然连接方式有些不同.使用Merant3.7需要在客户端安装Progress数据库才可以.
成都创新互联公司服务项目包括万荣网站建设、万荣网站制作、万荣网页制作以及万荣网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,万荣网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到万荣省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
服务端unix(即数据库存放在unix上),客户端window2000服务器配置:
1.在/etc/services配置文件中添加一行启动odbc的端口,例如:
merant 6000/tcp # merantODBC的端口
2.在需要使用odbc的用户的.profile文件中增加变量及路径例如:
DLC=/dlc/91e /*安装的progress的路径*/
PROOIBRK=/dlc/91e/bin/_prooibk /*需要调用的程序的路径*/PROOIDRV=/dlc/91e/bin/_prooidv /*需要调用的程序的路径*/PATH=/dlc/91e/bin:$PATH
export PATH
export DLC
export PROOIBRK
export PROOIDRV
3.执行启动odbc的命令
例如:
/dlc/91e/bin/_prooibk -SV -S merant /*根据progress安装的目录不同会不同,merant是services中增加的端口名称,两边可以随便取名字但必须一样*/客户端配置:
1.同服务端配置一样需要在C:WINNTsystem32driversetc的services文件中增加一行例如:
merant 6000/tcp # merantODBC的端口
2.在系统控制台增加环境变量,建议增加系统的环境变量,根据客户端progress安装的目录不同,可能有所不同DLC c:dlc The directory where you installed the Progress client piecesIDLC c:dlc Required only for 8.1 or higher clientsPROMSGS c:dlcpromsgs The directory and name of the message fileIPROMSGS c:dlcpromsgs Required only for 8.1 or higher clientsPATH c:dlcbin;c:dlc;c:winNTsystem32;%path% Example for Windows NTTEMP c:temp
3.在odbc数据源中作如下配置:
general:
data source name:自己取名
description:随便
database name:数据库的名字
user id:不填
oid/oib options:
protocol:tcp
service name:在services文件中加的merantodbc的端口名称host name:服务器的名称或ip(建议用ip,否则还要在hosts文件中加解析)database options:
database access mode:via server
protocol:tcp
service name:启动数据库的端口名(是在服务端启动数据库服务的端口名也是在服务端的services文件中)host name:启动数据库服务的机器名或ip(推荐ip)完成后应该可以连接上了
本文实例讲述了PHP利用pdo_odbc实现连接数据库。分享给大家供大家参考,具体如下:
目的:从sql
server数据库里面把某个视图文件调用出来,以键值对的方式显示在页面上。
利用pdo
odbc来实现PHP连接数据库:
在PHP配置文件里面开启pdo_odbc.dll服务。重启Apache服务器。
在ThinkPHP5.1的项目中在模块里添加config添加规定好的样式数据库:
代码如下:
?php
return
[
//
数据库类型
'type'
=
'sqlsrv',
//
服务器地址
'hostname'
=
'localhost',
//
数据库名
'database'
=
'mysql',
//
用户名
'username'
=
'sa',
//
密码
'password'
=
'123456',
//
端口
'hostport'
=
'',
//
连接dsn
'dsn'
=
'odbc:Driver={SQL
Server};Server=localhost;Database=mysql',
//
数据库连接参数
'params'
=
[],
//
数据库编码默认采用utf8
'charset'
=
'utf8',
//
数据库表前缀
'prefix'
=
'',
//
数据库调试模式
'debug'
=
true,
//
数据库部署方式:0
集中式(单一服务器),1
分布式(主从服务器)
'deploy'
=
0,
//
数据库读写是否分离
主从式有效
'rw_separate'
=
false,
//
读写分离后
主服务器数量
'master_num'
=
1,
//
指定从服务器序号
'slave_no'
=
'',
//
是否严格检查字段是否存在
'fields_strict'
=
true,
//
数据集返回类型
'resultset_type'
=
'array',
//
自动写入时间戳字段
'auto_timestamp'
=
false,
//
时间字段取出后的默认时间格式
'datetime_format'
=
'Y-m-d
H:i:s',
//
是否需要进行SQL性能分析
'sql_explain'
=
false,
//
Builder类
'builder'
=
'',
//
Query类
'query'
=
'\\think\\db\\Query',
//
是否需要断线重连
'break_reconnect'
=
false,
//
断线标识字符串
'break_match_str'
=
[],
];
?
在控制器controller里面建一个控制文件Test.php
代码如下:
?php
namespace
app\index\controller;
use
think\Db;
use
think\Controller;
class
Test
extends
Controller
{
public
function
zz(){
$data=Db::view('View_2')-select();
echo
json_encode($data);
}
}
?
最后调用入口文件即可访问。
我的效果:
[{"111":"123","1112":"LLP","232":"1","ROW_NUMBER":"1"},{"111":"123","1112":"BB","232":"2","ROW_NUMBER":"2"}]
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend
FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
您可能感兴趣的文章:ThinkPHP实现多数据库连接的解决方法tp5(thinkPHP5)框架实现多数据库查询的方法ThinkPHP3.1新特性之多数据库操作更加完善tp5(thinkPHP5)框架连接数据库的方法示例PHP7使用ODBC连接SQL
Server2008
R2数据库示例【基于thinkPHP5.1框架】thinkPHP5实现的查询数据库并返回json数据实例tp5(thinkPHP5)操作mongoDB数据库的方法tp5(thinkPHP5)框架数据库Db增删改查常见操作总结thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
查查phpmanual里面的函数,
ODBC 资料库连结函式库共有 25 个函式
开放资料连结 (Open Database Connectivity, ODBC) 是连结资料库的共通介面。ODBC 是由微软主导的资料库连结标准,实作环境也以微软的系统最成熟。在 UNIX 系统中,通常要使用其它厂商所提供的 ODBC 介面,有些 UNIX 厂商会自己提供 ODBC 介面 (如 SUN 有为 Solaris 提供 ODBC)。
ODBC 和资料库的查询采用 SQL 语言,这和大部份的资料库查询方式一样,这使得系统可以很容易和各种资料库沟通。当然,透过 ODBC 介面,后端的资料库不一定要 DBMS 这种大型资料库系统,亦可以是资料表 (如 Microsoft Access)、或者是试算表 中网互赢 手机客户端 (如 Microsoft Excel)。
然而文档中在COM部分却提得很少。
这儿是几个我试过的例子。希望这些给你一些概念。注意的是这些只能运行在32位的MicrosoftWindows平台下。
用php激活ADO
ADO是Microsoft的数据库对象技术。ADO里面包括连接数据库的对象,从查询语句中返回数据的记录集对象和表现数据元素的字段对象。
许多数据库不直接支持ADO.代之的是很多数据库支持低两级的Microsoft数据库技术:ODBC和OLEDB.许多数据库支持ODBC;但OLEDB有比ODBC更快的名声。
ADO则是包装ODBC和OLEDB的API.
这个例了打开一个新的ADO连接对象,对过ODBC打开一个传统的ACCESS数据库,然后我们执行SQL查询,会返回一个记录集对象。然后我们显示记录集的前三个字段。
本文实例讲述了PHP使用ODBC连接数据库的方法。分享给大家供大家参考。具体实现方法如下:
!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Strict//EN"
""
html
xmlns=""
xml:lang="en"
lang="en"
head
titlePHP
and
ODBC:
XHTML
Example
1/title
meta
http-equiv="Content-Type"
content="text/html;
charset=UTF-8"
/
/head
body
?php
$conn
=
odbc_connect(
"DRIVER={MySQL
ODBC
3.51
Driver};Server=localhost;Database=phpodbcdb",
"username",
"password");
if
(!($conn))
{
echo
"pConnection
to
DB
via
ODBC
failed:
";
echo
odbc_errormsg
($conn
);
echo
"/p\n";
}
$sql
=
"SELECT
1
as
test";
$rs
=
odbc_exec($conn,$sql);
echo
"tabletr";
echo
"thTest/th/tr";
while
(odbc_fetch_row($rs))
{
$result
=
odbc_result($rs,"test");
echo
"trtd$result/td/tr";
}
odbc_close($conn);
echo
"/table";
?
/body
/html
希望本文所述对大家的php程序设计有所帮助。