【发布时间】:2016-01-16 17:47:30
【问题描述】:
import urllib
import requests
from bs4 import *
from subprocess import Popen,PIPE
import os
connectString = 'SYSTEM/mediadot123'
def runSqlQuery(sqlCommand, connectString):
session = Popen(['sqlplus', '-S', connectString], stdin=PIPE, stdout=PIPE, stderr=PIPE)
session.stdin.write(sqlCommand)
return session.communicate()
session = Popen(['C:\\app\khize_000\product\\11.2.0\dbhome_1\BIN\sqlplus.exe','-S','hr/hr'], stdin=PIPE, stdout=PIPE, stderr=PIPE)
stdout, stderr = session.communicate()
sqlCommand = "set define off;"
queryResult, errorMessage = runSqlQuery(sqlCommand, connectString)
print queryResult
titledb = "retrieved from somewhere else with & in it"
sqlCommand = "insert into food(title) values ('" + str(titledb.encode('utf-8')) + "');"
queryResult, errorMessage = runSqlQuery(sqlCommand, connectString)
print queryResult
我在 oracle 网站上看到了“设置定义关闭”查询,但它对我的代码不起作用。它在命令行中工作,但不在此处。它给了我以下错误:
培根土豆鸡蛋砂锅早餐
输入鸡蛋的值:
SP2-0546:检测到用户请求的中断或 EOF。
【问题讨论】:
-
import cx_Oracle然后使用准备好的语句。
标签: python oracle insert sqlplus