UNIXODBC 连接UPDB

    xiaoxiao2023-03-28  5

    1   UPDB CONNECT UNIXODBC

    1.1 环境信息

    UPDB:

    Linux: [dhr@upright91 ~]$ upboot -v

     

    UPDB 6.2 (DB 6.0 FS02)

    Linux stopbugs 2.6.9-89.ELsmp #1 SMP Mon Jun 2212:31:33 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux version (little-endian)

     

    Patch files (FS02_CS_1509_f FS02_100546a_jdbcFS02_103045a FS02_100300b_expimp FS02_100723a FS02_102425a FS02_107073aFS02_108214a FS02_103976h FS02_99119b )

    Linux:

    [dhr@upright91 ~]$ uname -a

    Linux upright91 2.6.32-358.el6.x86_64 #1 SMP TueJan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

    UnixODBC:

    unixODBC-2.3.4.tar.gz

    1.2 Install UPDB

    UPDB的安装方法此处不在详细介绍,详细安装过程,请参数UPDB安装文档

    1.3 Install Unixodbc

    1.3.1 UnixODBC下载

    Unixodbc的下载地址:http://unixodbc.org/

    1.3.2 UnixODBC安装

    tar -zxvf unixODBC-2.3.4.tar.gz

     

    ./configure --prefix=/usr/local/unixODBC-2.3.4--includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc

    make && make install

    1.4 配置UnixODBC

    [root@upright91 bin]# cat /etc/odbcinst.ini

     

    [updb]

    Description      = UpRight6 ODBC Datasource

    Driver         = /home/dhr/updb6/client/lib/libupodbc.so

    Setup          = /home/dhr/updb6/client/lib/libupcli.so

    FileUsage        = 1

    [root@upright91 bin]# cat /etc/odbc.ini

    [updb6]         #确保此处的值和updsn.tbr文件中SID的内容一致

    Driver  =updb6    #确保此处的值和/etc/odbcinst.ini文件中[]内的内容一致

    Description    =UpRight6 ODBC Datasource

    Server = 192.168.0.91

    Database    =updb6

    Port=5555

    Option =3

    User    =sys

    Password       =updb

    TDS_Version =1.0

     

    [root@upright91 bin]#

     

    1.5 测试UnixODBC与UPDB的连通性

    (1)测试连通性:使用安装UPDB数据库的操作系统用户,连接isql

    [dhr@upright91 ~]$ isql updb6sys updb -v

    +---------------------------------------+

    | Connected!                            |

    |                                       |

    | sql-statement                         |

    | help [tablename]                      |

    | quit                                 |

    |                                       |

    +---------------------------------------+

    SQL> select * from dual;

    +------+

    | DUMMY|

    +------+

    | X    |

    +------+

    SQLRowCount returns 1

    1 rows fetched

    (2)在ISQL中测试DML与DDL语句

    SQL> create user dhr identified by dhr;

    SQLRowCount returns -1

    SQL> grant dba to dhr;

    SQLRowCount returns -1

    SQL> create table dhr.t1(id number);

    SQLRowCount returns -1

    SQL> insert into dhr.t1 values(10);

    SQLRowCount returns 1

    SQL> commit;

    SQLRowCount returns -1

    SQL>

    SQL> update dhr.t1 set id=20;

    SQLRowCount returns 1

    SQL> commit;

    SQLRowCount returns -1

    SQL> delete dhr.t1;

    SQLRowCount returns 1

    SQL> commit;

    SQLRowCount returns -1

    (3)在测试过程中,确认数据库中是否有相应数据生成。

    [dhr@upright91 ~]$ upsql sys/updb

     

    upSQL 6 

     

    UpRight Corporation Copyright (c) 2012. All rightsreserved.

     

    Connected to UPDB.

     

     

    SQL> select username from dba_users;

     

    USERNAME

    --------------------------------------------------------------------------------

    SYSCAT

    SYSGIS

    OUTLN

    UPDB

    UPDB1

    SYS

     

    6 rows selected.

     

    SQL> /    

     

    USERNAME

    --------------------------------------------------------------------------------

    SYSCAT

    SYSGIS

    OUTLN

    UPDB

    UPDB1

    DHR

    SYS

     

    7 rows selected.

     

    SQL> conn dhr/dhr

    Connected to UPDB.

     

    SQL> ls

    SQL> ls

     

    NAME                               SUBNAME                  TYPE               

    ---------------------------------------------------------- --------------------

    T1                                                         TABLE

     

    SQL> select * from t1;

     

            ID

    ----------

            10

     

    1 row selected.

     

    SQL> select * from t1;

     

            ID

    ----------

            20

     

    1 row selected.

     

    SQL> /

     

    0 row selected.

     

    SQL>

     

    附:测试过程中遇到的问题

     

    (1) 在root用户下执行isql命令,无返回结果

     

    [root@upright91 odbc]# isql updb6 sys updb -v

    [root@upright91 odbc]#

    解决方法:

    使用安装K-DB数据库的操作系统用户执行isql命令即可。

    [dhr@upright91 ~]$ isqlupdb6 sys updb

    +---------------------------------------+

    | Connected!                            |

    |                                       |

    | sql-statement                         |

    | help [tablename]                      |

    | quit                                  |

    |                                       |

    +---------------------------------------+

    SQL>

     

    (2) 在使用isql连接时报数据源找不到

    [dhr@upright91 ~]$ isql updb sys updb -v

    [IM002][unixODBC] Data source was not found.  

    [ISQL]ERROR: Could not SQLConnect

     

    解决方法:

         修改/etc/odbc.ini文件中[]中的内容和updsn.tbr中配置的UP_SID一致即可。

    转载请注明原文地址: https://ju.6miu.com/read-1209290.html
    最新回复(0)