UNIXODBC 连接UPDB

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一致即可。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值