文章目录
- 前言
- 一、服务器上的配置
- 二、Win10上的配置
- 1. timesten的客户端的安装和配置
- 2. cx_oracle的安装配置
- 三.linux上的配置
- 1. timesten的客户端的安装和配置
- 2.oracleclient的客户端的安装和配置
- 3. cx_oracle的安装配置
前言
最近用到python去远程连接timesten,面向百度编程嘛,首先肯定是想找现成的了。不过找了一圈没找到详细说怎么实现的,找到的比较有帮助的是这里:
https://stackoverflow.com/questions/7982224/python-access-to-timesten 然后捣鼓了几天搞好了,记录下。
一、服务器上的配置
服务器的环境是Centos7 64位操作系统。timesten已经安装在服务器上,安装包是tiemsten112280.linux8664.tar。用户和表都已经建好,用户名密码是test,test,dsn是tt_1122,服务器IP是192.168.1.151,timesten启用的端口是12897(默认启用的端口是53397)。下面为服务器上的表中数据:
python连接timesten,需要用到timesten客户端和python的ox_oracle模块。下面分别在windows平台上和linux平台上进行尝试,python版本都是3.7。
二、Win10上的配置
1. timesten的客户端的安装和配置
安装timesten的客户端最好是和服务器同一版本,服务器上安装的是112280,这边的客户端用的安装包是timesten112280.win64.zip。安装过程没什么好说的,一直下一步就行,在这台机器上我只安装了64位的client,没有安装32位的client也没有安装sever。
安装好之后就可以进行数据源的配置了。在运行栏中搜索ODBC就出来了如下图:
在数据源管理器中选“添加”,就可看到刚安装好的timesten驱动了。
在创建新数据源界面选“完成”之后弹出timesten客户端配置界面。
在timesten客户端配置界面首先配置服务,即下图的”Servers”:
再在弹出的服务列表窗口选“add“添加:
在弹出的服务配置窗口填上服务器的IP地址、端口、服务名“tt_client_151“,这个名称一会要用到。配置完成之后回到timesten客户端配置界面。
在timesten客户端配置界面的Server Name or Network Address栏选择刚才配置的服务名称,按“Refresh“会自动刷出来Server DSN名称TT_1122。再配置好用户名和密码,给Client DSN起名tt_test,python连接用的就是这个Client DSN。
配置好之后点下面的Test Oracle TimesTen Server Connection,提示全部成功则配置结束。
配置结束之后可以在ODBC数据源中看到刚才配置的tt_test。
在cmd界面尝试连接:
2. cx_oracle的安装配置
使用pip在线安装的方式安装,如下图:
安装完毕就可以运行了,代码和结果如下图:
代码如下:
# encoding:utf-8
import cx_Oracle
def test_timesten_cs():
dsn_tns = '(DESCRIPTION=(CONNECT_DATA = (SERVICE_NAME = tt_test)(SERVER = timesten_client)))'
try:
conn = cx_Oracle.connect(
'test',
'test',
dsn_tns
)
except Exception as e:
print(e)
return
cur = conn.cursor()
try:
x = cur.execute('select * from tabletest')
for re in x:
print(re)
except Exception as e:
print(e)
return
cur.close()
conn.close()
if __name__=="__main__":
test_timesten_cs()
主要是这句连接字符串,这是用client的方式连接:
dsn_tns = '(DESCRIPTION=(CONNECT_DATA = (SERVICE_NAME = tt_test)(SERVER = timesten_client)))'
如果是要连接本机的服务端的话可以用直接连接的方式:
dsn_tns = '(DESCRIPTION=(CONNECT_DATA = (SERVICE_NAME = tt_1122)(SERVER = timesten_direct)))'
三.linux上的配置
这里使用linux平台是Centos7 64位版本。同样的,linux下python连接timesten要用到timesten客户端、oracleclient客户端和cx_oracle模块。
1. timesten的客户端的安装和配置
timesten的客户端还是选择和服务器安装的版本一致,安装过程也比较简单,安装前用超级用户做以下几件事:
mkdir /etc/TimesTen #创建/etc/TimesTen文件夹
groupadd ttadmin #添加用户组ttadmin
chgrp -R ttadmin /etc/TimesTen #使ttadmin用户组拥有/etc/TimesTen权限
chmod 770 /etc/TimesTen/ #设置/etc/TimesTen权限(注意最后有/)
usermod -a -G ttadmin XXXX #将XXXX用户加入ttadmin用户组
然后注销一次重新登录之后再进行安装。
安装的时候也是一直回车即可,略。
安装完成之后需要配置客户端,linux下的配置比较简单,修改timesten目录下的两个文件,各添加一个节点就可以了:
/home/ XXXX/TimesTen/tt1122/info/sys.odbc.ini
/home/XXXX/TimesTen/tt1122/info/sys.ttconnect.ini
配置完成使用ttisqlcs即可连接上服务器了,如下图所示。
2.oracleclient的客户端的安装和配置
下载oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm安装包,用超级用户安装:
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
安装成功之后可以查看安装位置:
rpm -ql oracle-instantclient11.2-basic
接下来是配置环境变量,以超级用户在/etc/profile.d/下新建shell脚本文件,本例中新建文件名称为black.sh,内容如下:
export TT_HOME=/home/black/TimesTen/tt1122
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
export PATH=$ORACLE_HOME/bin:$TT_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$TT_HOME/lib:$LD_LIBRARY_PATH
配置完成重启。
3. cx_oracle的安装配置
和windows中安装一样,直接使用pip3安装就可以了,略。
完成准备工作之后就可以使用python连接timesten了,如下: