python
  • pyodbc
  • pypyodbc
  • 2014-06-05 1 views 0 likes 
    0

    pyodbc를 사용하여 데이터베이스에 연결하려고합니다. 코드는 다음과 같습니다. 리눅스에서 동일하게 실행하면 다음과 같은 오류가 발생합니다. 그것을 고치는 방법?리눅스에서 pyodbc 연결이 실패했습니다

    import pypyodbc as pyodbc 
    component_id=argv[1] 
    print "COMPONENT ID: " + component_id 
    server_name='odsdb.company.com' 
    database_name='ODS' 
    cnx = pyodbc.connect("DRIVER={SQL Server};SERVER="+server_name+";DATABASE="+database_name) 
    db_cursor=cnx.cursor() 
    

    VI /etc/odbcinst.ini

    [PostgreSQL ANSI] 
    Description    = PostgreSQL ODBC driver (ANSI version) 
    Driver   = psqlodbca.so 
    Setup   = libodbcpsqlS.so 
    Debug   = 0 
    CommLog   = 1 
    UsageCount    = 1 
    
    [PostgreSQL Unicode] 
    Description    = PostgreSQL ODBC driver (Unicode version) 
    Driver   = psqlodbcw.so 
    Setup   = libodbcpsqlS.so 
    Debug   = 0 
    CommLog   = 1 
    UsageCount    = 1 
    

    오류 : -

    File "build_ver.py", line 11, in <module> 
        cnx = pyodbc.connect("DRIVER={SQL Server};SERVER="+server_name+";DATABASE="+database_name) 
        File "/usr/local/lib/python2.7/dist-packages/pypyodbc.py", line 2434, in __init__ 
        File "/usr/local/lib/python2.7/dist-packages/pypyodbc.py", line 2483, in connect 
        File "/usr/local/lib/python2.7/dist-packages/pypyodbc.py", line 988, in check_success 
        File "/usr/local/lib/python2.7/dist-packages/pypyodbc.py", line 964, in ctrl_err 
    pypyodbc.Error: (u'IM002', u'[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified') 
    
    +0

    당신의'~/.odbc.ini' 파일을 무엇을 어떻게 생겼어? –

    +0

    @padraic - odbc-postgresql의 다운로드/압축 풀기 odbc-postgresql을 만족하는 다운로드를 찾지 못했습니다 odbc-postgresql에 대한 배포본이 전혀 없습니다 – user3654069

    +0

    사용중인 Linux dist와 사용중인 odbcinst -j는 무엇입니까? 껍질? –

    답변

    0

    sudo gedit /etc/postgresql/9.3/main/postgresql.conf.

    주석과 *

    다음에 localhost에서 listen_addresses을 변경

    `sudo gedit /etc/postgresql/9.3/main/pg_hba.conf` 
    

    변화 라인에 127.0.0.1/32 to 0.0.0.0/0 :

    `host all    all    127.0.0.1/32   trust` 
    
    관련 문제