• 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 => 1, PrintError => 1, RaiseError => 0 } );
    
    ## 执行查询
    $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访问字段。

  • 相关阅读:
    python中的itertools模块简单使用
    SQLServer链接服务器
    @Valid和@Validated的区分总结
    禅道完成高成资本独家领投的数千万元融资
    青岛敏捷之旅,来了!
    linux主机互信操作
    小白学标准库之 mux
    小白学标准库之 flag
    音频截取分割打点标注工具
    大数据可能面试题
  • 原文地址:https://www.cnblogs.com/herzog/p/3534482.html
Copyright © 2020-2023  润新知