ODBC方式连接Informix数据库
公司某个报表系统使用Informix数据库,在谋划使用Perl语言写数据采集程序后,花费了很多时间建立Perl访问Informix连接。恰巧Windows下ActivePerl的CPAN中又没有DBD::Informix模块,故一度陷入绝望。
有一天突然想起可以使用ODBC方式,经过一番尝试后,很快就成功建立连接。 具体方法:
1. 在Windows系统中建立ODBC数据源。需要安装Informix SDK的客户端驱动。
2. Perl访问ODBC
## 连接参数
my $data_source="DBI:ODBC:huawu";
my $user="aaa";
my $password="bbb";
my $dbh=DBI->connect($data_source,$user,$password, { AutoCommit => , PrintError => , RaiseError => } ); ## 执行查询
$cur_sql = 'select * from table_a;';
my $sth=$dbh->prepare($cur_sql);
if(! $sth->execute() ) {
die ;
} 保存记录
while (my @count = $sth->fetchrow()) {
# @count 为一条记录
}
$sth->finish(); ##关闭连接
$dbh->disconnect();
3. PHP访问ODBC
##连接参数
$odbc_server = "dbname";
$odbc_conn = odbc_connect($odbc_server, $user, $pwd); ##执行语句
$odbc_sql = 'Select * from table_a;';
$odbc_res = odbc_exec($odbc_conn, $odbc_sql); echo "<table id='MData'>";
while (odbc_fetch_row($odbc_res)) {
echo "<tr>";
echo "<td>".odbc_result($odbc_res, 1)."</td>";
echo "<td>".odbc_result($odbc_res, 2)."</td>";
echo "<td>".odbc_result($odbc_res, 3)."</td>";
echo "<td>".odbc_result($odbc_res, 4)."</td>";
echo "<td>".odbc_result($odbc_res, 5)."</td>";
echo "<td>".odbc_result($odbc_res, 6)."</td>";
echo "</tr>";
}
echo "</table>";
##关闭连接
odbc_close($odbc_conn);
PHP的ODBC函数较弱,获取查询记录集貌似只有odbc_fetch_row() 这一个函数,通过数组下标或关联数组Key访问字段。
ODBC方式连接Informix数据库的更多相关文章
- ODBC方式操作oracle数据库
ODBC方式操作oracle数据库 一.查询语句: var strConn = System.Configuration.ConfigurationManager.ConnectionStrings[ ...
- C#连接Informix数据库
最近在工作中遇到了需要连接Informix数据库的问题,在通过研究后发现了可以通过多种方式实现,我选择的是通过IBM Informix .NET Provider.该方式需要引用IBM.Data.In ...
- java thin方式连接oracle数据库
本文主要描述通过thin方式连接oracle数据库 1.创建web project ,将D:\oracle\product\10.2.0\db_1\jdbc\lib(oracle安装目录)下的ojdb ...
- jmeter中通过jdbc方式连接mysql数据库的配置参考
jmeter中通过jdbc方式连接mysql数据库的配置参考: Database URL=jdbc:mysql://ip:port/dbname?useUnicode=true&allowMu ...
- Spark JDBC方式连接MySQL数据库
Spark JDBC方式连接MySQL数据库 一.JDBC connection properties(属性名称和含义) 二.spark jdbc read MySQL 三.jdbc(url: Str ...
- Delphi XE8中的DBExpress使用ODBC方式连接MySQL 5.6.24 X64!!!!
Delphi:XE2.XE8 MySQL:5.6.24 X64 今天准备做一个使用数据库的REST程序,最开始使用XE2,后来使用XE8,但是我遇到一个让我头疼的问题,就是无法连接我要使用的数据库,这 ...
- C++ API方式连接mysql数据库实现增删改查
这里复制的 http://www.bitscn.com/pdb/mysql/201407/226252.html 一.环境配置 1,装好mysql,新建一个C++控制台工程(从最简单的弄起,这个会了, ...
- C++中用ODBC和ADO方式连接SQL数据库
https://wenku.baidu.com/view/f01e4e762f3f5727a5e9856a561252d380eb2033.html
- sqlplus 方式连接 远程数据库
方式一:简易连接,不用进行网络配置,其实就是tnsname.ora文件,但只支持oracle10G以上.命令:sqlplus 用户名/密码@ip地址[:端口]/service_name [as sys ...
随机推荐
- C#获取内存图像数据流的方法
背景:有的时候我们已经得到一个图像的内存对象,如Bitmap对象,我们想要获取到这个对象的数据流,可以将其序列化到磁盘上,并且也可以反序列化为内存对象,这个时候就有了如题的问题出现,我搜遍全网就是没有 ...
- java16 程序、进程、线程
一.程序.进程.线程 .程序:程序就是我们编写的代码,也就是指令集,是一个静态概念. .进程:操作系统调度我们的程序,动态概念,一个程序就是一个进程.进程是程序的一次动态执行过程,占用特定的地址空间, ...
- Ubuntu11.04上tftp服务的配置
Ubuntu11.04上tftp服务的配置 2011-06-17 15:01 以前ubuntu版本上的tftp已经配置很多遍了,详情可以参见:www.mcuos.com/thread-646-1-2. ...
- Android(java)学习笔记139:在TextView组件中利用Html插入文字或图片
首先我们看看代码: 1.activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/r ...
- Android(java)学习笔记163:Android开发时候颜色设置是bgr不是rgb
eb" android:background ="#"
- Python之路【第二十二篇】:Django之Model操作
Django之Model操作 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bi ...
- http://venkatbaggu.com/file-upload-in-asp-net-mvc-using-dropzone-js-and-html5/
http://venkatbaggu.com/file-upload-in-asp-net-mvc-using-dropzone-js-and-html5/ http://www.cnblogs.co ...
- Maven 私服的使用实战
本日志主要是介绍下面的配置 1. 将内部构件部署到私服 在工程的pom文件中添加下面配置 <distributionManagement> <repository> <i ...
- YII中面包屑制作(当前位置:网站首页 >> 会员登陆)
面包屑制作(当前位置:网站首页 >> 会员登陆) 作用:就是在布局里要显示的信息,但这个信息在不同的页面里显示的内容不一样,例如:网页的title.网页的当前位置等等 1.布局中每个页面t ...
- JQ实现复选框的全选反选不选
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...