title image


Smiley Excel-Zugriff per ODBC auf SQLite-DB
Hallo,



ich möchte gerne von Excel 2003 (Betriebssystem: Windows XP) aus per ODBC auf eine SQLite-Datenbank per ODBC zugreifen.



Folgende Schritte habe ich durchgeführt:



1.) SQLite-ODBC-Treiber installieren:



Auf http://www.ch-werner.de/sqliteodbc/ habe ich mir die Datei “sqliteodbc.exe“ runtergeladen, die per Installationsroutine die ODBC-Treiber auf dem Rechner installiert. Dies erkenne ich daran, dass unter „Systemsteuerung/Verwaltung/Datenquellen (ODBC)/System-DSN“ drei neue Einträge („SQLite Datasource“, „SQLite UTF-8 Datasource“ und „SQLite3 Datasource“) auftauchen.



2.) SQLite-DB erstellen:



Auf http://sourceforge.net/projects/sqlitebrowser/ habe ich mir den SQLiteBrowser in der Version 1.2.1 herunter geladen und mittels dieser GUI eine neue DB („Test.db“) mit drei Tabellen und jeweils ein paar Datensätzen erstellt. Die DB habe ich unter „C:\Test.db“ abgelegt.



3.) Benutzer-DSN erstellen:



Unter „Systemsteuerung/Verwaltung/Datenquellen (ODBC)/Benutzer-DSN“ habe ich folgende Schritte durchgeführt:



„Hinzufügen“

„SQLite ODBC Driver“

„Fertig stellen“

Data Source Name: TestDB

Database Name: C:\Test.db

“Ok”



4.) In Excel auf DB zugreifen:



In Excel habe ich folgende Schritte durchgeführt:



„Daten/Externe Daten importieren/Daten importieren..“

„+NeueDatenquelle erstellen.odc“ + „Öffnen“

„ODBC DSN“ + „Weiter“

„TestDB“ + „Weiter“

(Maske „SQLite ODBC Driver Connect“ erscheint)

„OK“

(Maske „Datenverknüpfungseigenschaften“ erscheint)

“OK”

(Maske „SQLite ODBC Driver Connect“ erscheint noch einmal)

Wenn ich jetzt „OK“ drücke kommt folgende Fehlermeldung:



„Verbindung zur Datenquelle kann nicht hergestelt werden. Ursache: Zugriff verweigert. Entweder ist bei der Eingabe Ihrer Benutzer-ID und/oder Ihres Kennwortes ein Fehler aufgetreten oder Sie haben keine Erlaubnis, auf den Datenbankserver zuzugreifen.“







Alternativ habe ich die Schritte 1.) bis 3.) durchgeführt und in Excel folgenden VBA-Code geschrieben:



Sub TestDB()

Dim ws As Workspace

Dim con As Connection

Dim rs As Recordset



Set ws = DBEngine.CreateWorkspace("ws1", "", "", dbUseODBC)

Workspaces.Append ws

Set con = ws.OpenConnection("con1", dbDriverComplete, False, "ODBC;DSN=TestDB") 'Test = DSN-Name

Set rs = con.OpenRecordset("select * from TabPerson")



' Enumerate the specified Recordset object.

With rs

Do While Not .EOF

'Debug.Print , .Fields(0), .Fields(1)

MsgBox .Fields(0)

.MoveNext

Loop

End With



rs.Close

con.Close

ws.Close

End Sub



Wenn ich die Prozedur aufrufe erscheint wieder die Maske „SQLite ODBC Driver Connect“ und nach einem Click auf „OK“ kommt die Fehlermeldung:



„Laufzeitfehler ‚3146’. ODBC-Aufruf fehlgeschlagen.





Was mache ich falsch?



Oder können SQLite-DB gar nicht von Excel aufgerufen werden?





Danke und Gruß



Florian



P.S.: Wäre super, wenn Ihr die Schritte mal nachvollziehen würdet und mir ne Rückmeldung gebt, ob es bei Euch funktioniertÂ…

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: