gpt4 book ai didi

python - 在 fork 中使用 sqlanydb 启动数据库连接

转载 作者:太空宇宙 更新时间:2023-11-04 03:47:53 25 4
gpt4 key购买 nike

基于 fork 的示例,我构建了这个小脚本:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sqlanydb
import os

def child():
conn = sqlanydb.connect(uid='dba', pwd='sql', eng='somedb_IQ', dbn='somedb')
curs = conn.cursor()
curs.execute("""SELECT * FROM foobaa;""")
os.exit(0)

def parent():
while True:
newpid = os.fork()
if newpid == 0:
child()
else:
pids = (os.getpid(), newpid)
print "parent: %d, child: %d" % pids
if raw_input( ) == 'q': break

parent()

目的是在一个单独的进程中执行数据库操作(后面的大目标是同时运行大量查询)。

但是当运行脚本时,我得到:

parent: 20580, child: 20587
Traceback (most recent call last):
File "connectiontest.py", line 25, in <module>
parent()
File "connectiontest.py", line 19, in parent
child()
File "connectiontest.py", line 8, in child
conn = sqlanydb.connect(uid='dba', pwd='sql', eng='somedb_IQ', dbn='somedb')
File "/usr/local/lib/python2.6/dist-packages/sqlanydb.py", line 461, in connect
return Connection(args, kwargs)
File "/usr/local/lib/python2.6/dist-packages/sqlanydb.py", line 510, in __init__
self.handleerror(*error)
File "/usr/local/lib/python2.6/dist-packages/sqlanydb.py", line 520, in handleerror
eh(self, None, errorclass, errorvalue)
File "/usr/local/lib/python2.6/dist-packages/sqlanydb.py", line 342, in standardErrorHandler
raise errorclass(errorvalue)
sqlanydb.OperationalError: Failed to initialize connection object

我可能错过了什么?

最佳答案

由于 Sybase IQ 基于 Sybase ASA,您确定您使用的凭证 key 正确吗?这个(尽管是旧的)文档看起来需要 DSN 和 DSF 而不是 ENG 和 DBN。

http://dcx.sybase.com/1101/en/dbprogramming_en11/python-writing-open.html

关于python - 在 fork 中使用 sqlanydb 启动数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22811894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com