首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当isql连接时pypyodbc不连接?

当isql连接时pypyodbc不连接?
EN

Stack Overflow用户
提问于 2014-10-01 01:56:50
回答 1查看 535关注 0票数 2

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

代码语言:javascript
复制
[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连接得很好。

但是,使用以下程序:

代码语言:javascript
复制
import pypyodbc

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

我知道这个错误:

代码语言:javascript
复制
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源代码中寻找某种方式来反映isql -v的能力,但VERBOSE = True不是。我还发现了一个bug,很明显,它以前只会发送第一封信,然后我想也许我遇到了这个问题,但我不知道在哪里可以找到它。

我怎么能让这件事再起作用呢?

EN

回答 1

Stack Overflow用户

发布于 2014-11-05 16:59:48

您的Python脚本失败了,因为'as400‘是您创建的ODBC DSN的名称,所以您需要在连接字符串中使用DSN=as400而不是Driver={as400}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26132967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档