通過python連線Oracle

2021-09-17 23:28:22 字數 2151 閱讀 9919

一、安裝cx_oracle

pip install cx_oracle即可

二、安裝instantclient

windows方式:

2.環境配置

import os

os.environ['nls_lang'] = 'simplified chinese_china.utf8'

os.environ['tns_admin'] = 'd:\program\instantclientx64_jb51\instantclient_11_2'

os.environ['path'] = 'd:\program\instantclientx64_jb51\instantclient_11_2'

linux方式:

18.3以後不用建軟鏈結,已經存在。

4.目錄network/admin新建tnsnames.ora,內容如下:

xy =

(description =

(address_list =

(address = (protocol = tcp)(host = 192.168.6.175)(port = 2261))

)(connect_data =

(server = dedicated)

(service_name = lsxy_sn)))

修改1,4,8行,與oracle配置一樣

5.環境配置

vi /etc/profile

新增以下內容

export ora_home=/home/lsxy #instantclient_18_5所在目錄

export path=$path:$ora_home/instantclient_18_5

export oracle_base=$ora_home

export oracle_home=$oracle_base/instantclient_18_5

export ld_library_path=$oracle_home

export nls_lang="simplified chinese_china.zhs16gbk"

source /etc/profile

6.遠端連線oracle

命令列輸入:

sqlplus 使用者名稱/密碼@//ip:port/orcl

即可啟動oracle操作行命令

三、python鏈結oracle

# 查詢表

db = cx_oracle.connect('使用者名稱', '密碼', 'ip:port/orcl')

cr = db.cursor()

# 小時粒度**資訊表

sql = "select * from table"

cr.execute(sql)

rs = cr.fetchall()

old_data = pd.dataframe(rs)

#寫入表(下面是整體寫入,也可insert into單行寫入)

y_weight = y_weight.values.tolist()

sql = '''insert into f_hx_scenic_future_statistics

(area_id,subscriber_count,statistic_time,created_time)

values (:1,:2,:3,:4)

'''cr.executemany(sql, y_weight)

db.commit()

cr.close()

db.close(

PowerDesigner連線Oracle資料庫

引用 一。注意 1.powerdesigner的安裝目錄不能有空格,否則測試連線時報錯uable to connect,sqlstate 08004,ora 12154 tns 無法解析指定的連線識別符號 二。建立連線,win7系統,64位,oracle伺服器在遠端11g,本地僅安裝32位10g的o...

通過sqlldr工具載入資料入Oracle庫表

結語本文主要是貼原始碼,即如何通過shell指令碼,用sqlldr工具載入資料入oracle庫表。使用oracle中sqlldr工具載入資料入oracle資料庫 日誌檔案路徑在指令碼中可自定義調整 執行指令碼需傳入5個引數 ctl控制檔案記錄關鍵的入庫資訊,根據實際情況自定義調整 ctl檔案示例 o...

Python通過ssh連線MySQL

機器a 通過機器b 登入機器c的mysql import pymysql from sshtunnel import sshtunnelforwarder server sshtunnelforwarder ssh address or host 機器b的ip 22 指定ssh登入的跳轉機的addr...