python使用cx_Oracle连接timesten

环境:

OS:Windows/Linux

DB:18.1

 

 #################################################################windows################################################

1.配置环境变量
TNS_ADMIN=C:\TimesTen\tt181_64\network\admin

 

2.创建tnsnames.ora文件
在timesten安装目录下
C:\TimesTen\tt181_64\network\admin\samples
拷贝一个tnsnames.ora到C:\TimesTen\tt181_64\network\admin进行修改

 

3.修改tnsnames.ora
C:\TimesTen\tt181_64\network\admin\tnsnames.ora

添加如下内容:

mytest = (DESCRIPTION =
              (CONNECT_DATA =
                (SERVICE_NAME = timesten_dns)
                (SERVER = timesten_client)))

 

这里的timesten_dns是在odbc里创建的odbc数据源

 

4.测试代码

复制代码
#!/usr/bin/env python
#coding=utf-8
import os, json, urllib, datetime, shutil,random,uuid
from random import choice
import pymysql
import traceback
import time

import cx_Oracle
import pyodbc

def connect_timesten_db():
    connection = cx_Oracle.connect("hxl", "oracle", "mytest")
    cursor = connection.cursor()
    cursor.execute("insert into tb_test values (42,42)")
    connection.commit()
    connection.close()


if __name__ == '__main__':
    print("开始时间:"+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
    ##l_flag = insert_data_for_doris()
    l_flag=connect_timesten_db()
    print("结束时间:"+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
复制代码

 

 

 ###################################################################linux################################################

说明:程序和timesten服务都在同一台机器,如不在同一台机器上的话,程序的机器也需要安装timesten,不启动服务,将服务器的配置(conf目录下的文件)拷贝过来

1.设置环境变量

su - instanceadmin

复制代码
[instanceadmin@localhost ~]$ more .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
export TIMESTEN_HOME=/opt/tt18.1.4.34.0/myinstance/instance1
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export PATH=$ORACLE_HOME/bin:$TIMESTEN_HOME/myinstance/instance1/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/opt/tt18.1.4.34.0/lib:$LD_LIBRARY_PATH
TNS_ADMIN=/opt/tt18.1.4.34.0/network/admin

export PATH
复制代码

 

测试程序

复制代码
#!/usr/bin/env python
#coding=utf-8
import os, json, urllib, datetime, shutil,random,uuid
from random import choice
import pymysql
import traceback
import time

import cx_Oracle
import pyodbc

def connect_timesten_db():
    mytest = '(DESCRIPTION =(CONNECT_DATA =(SERVICE_NAME = sampledbCS)(SERVER = timesten_client)))'
    connection = cx_Oracle.connect("hxl", "oracle", mytest,encoding="UTF-8")
    cursor = connection.cursor()
    cursor.execute("insert into tb_test values (42,42)")
    connection.commit()
    connection.close()


if __name__ == '__main__':
    print("开始时间:"+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
    ##l_flag = insert_data_for_doris()
    l_flag=connect_timesten_db()
    print("结束时间:"+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
复制代码

 

posted @   slnngk  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2022-06-02 percona相关软件网页无法打开其他下载方式
2022-06-02 percona-backup-mongodb安装部署
2022-06-02 部署tidb同步到mysql(drainer)
点击右上角即可分享
微信分享提示