• 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访问字段。

  • 相关阅读:
    从安装.net Core 到helloWord(Mac上)
    阿里云-对象储存OSS
    图片处理
    项目中 添加 swift代码 真机调试 错误
    iOS面试总结
    IOS APP配置.plist汇总
    cocoapods安装问题
    iOS8使用UIVisualEffectView实现模糊效果
    ios键盘回收终极版
    ?C++ 缺少参数的默认参数
  • 原文地址:https://www.cnblogs.com/herzog/p/3534482.html
Copyright © 2020-2023  润新知