擅长:python、mysql、java
<p>这似乎是一篇很老的文章,我尝试了下面的代码,它很有效。希望这有帮助。提供空用户名/密码时,从钱包中读取,位置在sqlnet.ora中提到</p>
<p>tnsnames.ora:</p>
<p>t1=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ip)(PORT=1521)(KEY=dbpdb1))(CONNECT_DATA=(SERVICE_NAME=dbsvc1.oracle.com)))</p>
<p>sqlnet.ora:</p>
<p>钱包位置=
(来源)=
(方法=文件)
(b)数据的方法=
(目录=$walletdir)
)
)
SQLNET.WALLET\u OVERRIDE=TRUE</p>
<pre><code>from sqlalchemy import create_engine
cstr='oracle://:@t1'
print(cstr)
engine = create_engine(
cstr,
convert_unicode=False,
echo=True
)
s='select * from emp'
conn = engine.connect()
result = conn.execute(s)
for row in result:
print (row)
</code></pre>