Avatar billede t-rex Nybegynder
24. februar 2009 - 15:40 Der er 7 kommentarer og
1 løsning

Python ODBC

Hej der ude..

jeg er løbet på et lille problem da jeg er ved at lære lidt om ODBC i python. det jeg skal er at connecte til en ODBC server som er sat op i windows (datakilder(ODBC)) under administation. men den bliver ved med at komme med denne fejl så håber der er en der ud der kan hjælp mig i den rigtig retning.

Traceback (most recent call last):
  File "<string>", line 244, in run_nodebug
  File "C:\Documents and Settings\igss.AQA5000\Desktop\robait\test.py", line 5, in <module>
    dbCon = pyodbc.connect("Driver={SQL Server};Server=127.0.0.1;Database=dbtest;")
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnectW); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (2)')

import pyodbc



dbCon = pyodbc.connect("Driver={SQL Server};Server=127.0.0.1;Database=dbtest;")
dbCursor = dbCon.cursor()

dbCursor.execute("select DATE from LOG limit 10")
dbCursor.fetchone()

dbCursor.close()

MVH

Ronni
Avatar billede arne_v Ekspert
24. februar 2009 - 16:58 #1
Du bruger ikke DSN i den connection string, så du bruger ikke din opsætning i "Data kilder".

Mit gæt er at du skal bruge:

dbCon = pyodbc.connect("Driver={SQL Server};Server=XXXXXX;Database=dbtest;")

hvor XXXXXX er navnet på din PC.
Avatar billede t-rex Nybegynder
24. februar 2009 - 17:01 #2
Jeg prøvet det du skrev men den kommer med samme fejl igen:

dbCon = pyodbc.connect("Driver={SQL Server};Server=aqa5000;Database=dbtest")

Traceback (most recent call last):
  File "<string>", line 244, in run_nodebug
  File "C:\test.py", line 6, in <module>
    dbCon = pyodbc.connect("Driver={SQL Server};Server=aqa5000;Database=dbtest")
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][Shared Memory]SQL Server does not exist or access denied. (17) (SQLDriverConnectW); [01000] [Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionOpen (Connect()). (2)')
Avatar billede arne_v Ekspert
24. februar 2009 - 17:37 #3
prøv og tilføj

Trusted_Connection=yes;

til connection string.
Avatar billede t-rex Nybegynder
24. februar 2009 - 17:44 #4
jeg er kommet lidt lænnger nu hvor den siger at jeg er kommet inde men den kommer nu med denne besked:

Traceback (most recent call last):
  File "<string>", line 244, in run_nodebug
  File "C:\test.py", line 14, in <module>
    cnxn = pyodbc.connect("DSN=dbtest")
pyodbc.Error: ('IM001', '[IM001] [Seven Technologies][IGSS32 ODBC Driver]Driver not capable (1010) (SQLSetConnnectAttr(SQL_ATTR_AUTOCOMMIT))')

koden er nu ændret til:

cnxn = pyodbc.connect("DSN=dbtest")
cursor = cnxn.cursor()

cursor.tables()
rows = cursor.fetchall()

for row in rows:
    print row.table_name
Avatar billede arne_v Ekspert
24. februar 2009 - 19:28 #5
Du bruger ikke Microsofts driver ?
Avatar billede t-rex Nybegynder
25. februar 2009 - 10:05 #6
ikke i det sidste forsøg... og der virket det som om jeg kom ignnem... men må sige jeg forstår ikke hvad der sker :) er meget nybegynder til Python
Avatar billede t-rex Nybegynder
26. februar 2009 - 09:37 #7
smider du et svar arne_v vi har løst det over i:

http://www.eksperten.dk/spm/865507#reply_7335995
Avatar billede arne_v Ekspert
26. februar 2009 - 14:03 #8
OK
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester