用Oracle和Python武装你的头脑(5)(2)

文章作者 100test 发表时间 2007:03:14 13:42:39
来源 100Test.Com百考试题网



在 python 中使用 sql
要访问数据库,python 解释器需要安装数据库模块。您有许多选择,这些选择均遵守标准化的 api 规范,并且曾经以编程方式使用过 odbc 或 jdbc 的任何人均非常熟悉它们。您将使用 cx_oracle,因为它比较易于安装。只需下载一个与您的 python 和 oracle 数据库版本匹配的 windows 安装程序。
安装 cx_oracle 后,返回 python 命令行解释器进行试用。由于 cx_oracle 是一个独立于核心 python 语言的模块,因此在将其用于任何会话或脚本之前必须导入它。
>>> import cx_oracle
请记住要使用大写字母!下面,我们将创建一个用于存储结果的表。
>>> orcl = cx_oracle.connect(’scott/tiger@orcl’)
>>> curs = orcl.cursor()
>>> sql = """create table init_params
... ( filename varchar2(30),
... param varchar2(64),
... value varchar2(512) )"""
三个引号 (""") 是一个用于输入包含换行符的方便语法。python 解释器将其提示符从 >>> 更改为 ... - 提醒您将继续从上一行开始的输入。
>>> curs.execute(sql)
>>> curs.close()
现在您的表已经准备就绪,下面我们将编写 recordinitora.py 来填充它。
import readinitora, cx_oracle
initparams = {}
for filename in [’init_orcl.ora’, ’init_default.ora’]:
initparams[filename] = readinitora.read(filename)
orcl = cx_oracle.connect(’scott/tiger@orcl’)
curs = orcl.cursor()
for filename in initparams.keys():
for param in initparams[filename].keys():
value = initparams[filename][param]
sql = """insert into init_params values
(:filename, :param, :value)"""
bindvars = {’filename’:filename,
’param’:param, ’value’:value}
curs.execute(sql, bindvars)
curs.close()
orcl.commit()

相关文章


对条件子句中带IN的SQL语句使用绑定变量
Oracle中表的连接及其调整
带你走进Oracle数据安全的世界一观(2)
PL_SQL中的多进程通信技术简介
用Oracle和Python武装你的头脑(5)(2)
重新编译PLSQL中无效对象或指定对象
Oracle数据库数据安全面面观(一)(4)
带你走进Oracle数据安全的世界一观(1)
用Oracle和Python武装你的头脑(5)(1)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛