python如何操作SQL语句 30

初学python所以不太懂。问题是:现在有一个a.sql的文本,我想使用python执行这个.sql的文本。不知道应该怎么写。数据库是oracle,我已经装了cx_ora... 初学python所以不太懂。
问题是:现在有一个a.sql的文本,我想使用python执行这个.sql的文本。不知道应该怎么写。数据库是oracle,我已经装了cx_oracle模块;
那位大哥能帮忙写下。。5号要交了。。。谢谢
展开
 我来答
yang_bigarm
2012-04-02 · TA获得超过3948个赞
知道大有可为答主
回答量:1664
采纳率:100%
帮助的人:607万
展开全部
这里有个比较清楚的解答:
http://zhidao.baidu.com/question/262503775.html

但是你的是一个文本的话,就要稍微改一下咯

如果改成cx_Oracle的话,就是这样的:

import sys
import cx_Oracle
import os

class handleDataBase:
def __init__(self,user,passwd,server,sql):
self.user=user
self.passwd=passwd
self.server=server
self.sql=sql
self.conn = cx_Oracle.connect("%s/%s@%s"%(self.user,self.passwd,self.server))

def selectDB(self):
cursor = self.conn.cursor()
cursor.execute("select count(1) from search_item_08")
ret = cursor.fetchall()
cursor.close()
print ret
return ret

def closeDB(self):
self.conn.close()

if __name__ == "__main__":
if len(sys.argv) < 4:
print "Need Arguments: user passwd server"
sys.exit(1)

user=sys.argv[1]
passwd=sys.argv[2]
server=sys.argv[3]
#sql='select count(1) from search_item_08;' #注意这里要改
sql = open('a.sql','r').read() #改成从文件读取

#接下来就访问数据库了
handleDB = handleDataBase(user,passwd,server,sql)
handleDB.selectDB()
handleDB.closeDB()
追问
您好!其实我使用的SQL是spool 语句也就是导出所查表的数据去文本。然后我在执行时,PY报错是不知道SPOOL命令。请问有什么办法呢?
其实我想实现的功能很简单就是导出表的数据到文本。
追答
oracle没有接触过,以我的经验,要一步一步慢慢来,从最简单的开始,比如说select语句可以用吗? 复杂一点的select语句可以用吗?

如果你能得到查询到的数据,而想导出到文本的话,没有专门的语句也可以自己实现一个啊,先把查询到的内容存在一个对象里面,然后自己用python写一个格式化输出的函数就可以了。
践道修行历练
2012-04-16
知道答主
回答量:68
采纳率:0%
帮助的人:14.3万
展开全部
只有用mysqldb这个第三方插件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式