gpt4 book ai didi

python - pypyodbc 在 isql 连接时不连接?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:08:49 26 4
gpt4 key购买 nike

pypyodbc 过去曾为我工作过,但由于某种原因它不起作用。我在 ~/.odbc.ini 中定义了这个

[as400]                                                                            
Description = IBM i Access ODBC Driver
Driver = IBM i Access ODBC Driver
System = mysystem
UserID = myuser
Password = mypass
Naming = 0
DefaultLibraries = QGPL
Database =
ConnectionType = 0
CommitMode = 2
ExtendedDynamic = 1
DefaultPkgLibrary = QGPL
DefaultPackage = A/DEFAULT(IBM),2,0,1,0,512
AllowDataCompression = 1
MaxFieldLength = 32
BlockFetch = 1
BlockSizeKB = 128
ExtendedColInfo = 0
LibraryView = ENU
AllowUnsupportedChar = 0
ForceTranslation = 0
Trace = 0

并且可以很好地连接 $ isql as400

但是对于下面的程序:

import pypyodbc

conn = pypyodbc.connect("Driver={as400};System=mysystem;Uid=myuser;Pwd=mypass;")

我收到这个错误:

Traceback (most recent call last):
File "dbtest.py", line 3, in <module>
conn = pypyodbc.connect("Driver={as400};System=mysystem;Uid=myuser;Pwd=mypass;")
File "/home/wwerner/.virtualenvs/devtools/lib/python3.4/site-packages/pypyodbc.py", line 2435, in __init__
self.connect(connectString, autocommit, ansi, timeout, unicode_results, readonly)
File "/home/wwerner/.virtualenvs/devtools/lib/python3.4/site-packages/pypyodbc.py", line 2484, in connect
check_success(self, ret)
File "/home/wwerner/.virtualenvs/devtools/lib/python3.4/site-packages/pypyodbc.py", line 988, in check_success
ctrl_err(SQL_HANDLE_DBC, ODBC_obj.dbc_h, ret, ODBC_obj.ansi)
File "/home/wwerner/.virtualenvs/devtools/lib/python3.4/site-packages/pypyodbc.py", line 964, in ctrl_err
raise Error(state,err_text)
pypyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified')

我尝试在 pypyodbc 源代码中寻找一些方法来反射(reflect) isql -v 能力,但 VERBOSE = True 不是。我还发现了一个错误,显然它曾经只是发送第一封信,我想也许我遇到了这个问题,但我不知道在哪里可以找到它。

我怎样才能让它重新工作?

最佳答案

您的 Python 脚本失败,因为“as400”是您创建的 ODBC DSN 的名称,因此您需要使用 DSN=as400 而不是 Driver ={as400} 在连接字符串中。

关于python - pypyodbc 在 isql 连接时不连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26132967/

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