MS Access

Probleme bei der Installation?
Antworten
Papageno
User
Beiträge: 33
Registriert: Sonntag 21. Dezember 2014, 10:53

Nachdem ich nun ca 10 Optionen durchgespielt habe, wende ich mich nun an Euch. Vielleicht hat wer den entscheidenden Hinweis, warum ich das mit dem ODBC nicht hinbekomme.

System:
Win7: 64bit
MS Office 2010 pro in 32bit
Installiertes Python: 3.4 (64 und 32 bit in getrennten Ordnern), da gibts auch ein paar Hinweise auf mögliche Querelen.
Pycharm 4.02 (tut glaub ich nix zur Sache)
Qt 4.8 (tut glaub ich auch nix zur Sache)

pyodbc von Unofficial Windows Binaries for Python Extension Packages
Dann gibt noch von MS Treiber: Microsoft Access 2010-Runtime
und Microsoft Access Database Engine 2010 Redistributable
Jeweils in 32 und 64bit verfügbar. Alle Kombinationen durchprobiert.

Funktionstest mit dem Beispiel

Code: Alles auswählen

import pyodbc
#                  Get a connection to MSSQL ODBC DSN via pypyodbc, and assign it to conn
conn = pyodbc.connect('DSN=MSSQL')
führt direkt zu
Fehlermeldung:
conn = pyodbc.connect('DSN=MSSQL')
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben (0) (SQLDriverConnect)')
Die Connection Strings habe ich auch erfolglos angepasst
Weitere befolgte Tipps:
http://blog.codefluententities.com/2011 ... ributable/
http://stackoverflow.com/questions/7116 ... is-present
Noch ein interessantes Tutorial. Folgendes hat mir auch nicht weitergeholfen unable-to-load-odbcji32-dll-on-windows-8-1-64-bit

Warum ich das will: Meine Messgeräte liefern Daten in einer MS Access DB, welche ich weiterverwenden will. Dann will ich noch die ganze Sache mit QSqlDatabase Class Reference verbinden und bearbeiten. (Ich weis, zu früh für einen Wunschzettel)

Also, wer sowas oder ähnliches am Laufen hat möge mir doch bitte einen Hinweis geben. Es muss nicht pyodbc sein, aber das scheint mir das gängigste zu sein.
Sirius3
User
Beiträge: 18216
Registriert: Sonntag 21. Oktober 2012, 17:20

@Papageno: da gibt es nur eine Möglichkeit, Messgerät wegwerfen und eins kaufen, das in einem vernünftigen Format exportieren kann. Schau am besten nach, ob das Messgerät, das Du schon besitzt, diese Möglichkeit auch bietet. Die meisten vernünftigen Datenbanken haben ja auch eine ODBC-Schnittstelle.
Es hat sich scheinbar nur einer die Mühe gemacht, Access-Dateien lesbar zu machen, http://mdbtools.sourceforge.net/. Mit etwas Glück könnte man das vielleicht auf Cygwin zum Laufen bringen. Hatte auch mal ein Programm, das nur ODBC-Export erlaubte, und damit hab ich die Daten wenigstens lesen können.
Papageno
User
Beiträge: 33
Registriert: Sonntag 21. Dezember 2014, 10:53

Sirius3 hat geschrieben:da gibt es nur eine Möglichkeit, Messgerät wegwerfen und eins kaufen, das in einem vernünftigen Format exportieren kann.
Das gibts nicht, die meisten Messgeräte (nicht nur aus den Staaten) verwenden mdb, sofern sie mit MS Sprachen entwickelt wurden. Und in diesem Bereich gibts nicht viel Auswahl.
So Umwege wie über Cygwin sind nicht mein Pfad. Die Software soll ja bedienbar bleiben 8)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Eine Idee wäre es, IronPython zu nutzen. Damit hättest Du Zugriff auf ADO.NET und damit einen Zugang zu Access.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Papageno
User
Beiträge: 33
Registriert: Sonntag 21. Dezember 2014, 10:53

@Hyperion: Hab ich mir gleich mal installiert. Zwei Handycaps: Erstens ist das python 2.7 und zweitens nicht zusammen mit PyQt nutzbar. (Zumindest laut mehrerer Aussagen auf stackoverflow, die interessanteste Betrachtung hier). Letzlich lande ich wieder in der Mausefalle von MS, aus der ich eigentlich raus will. Aber besten Dank, ich behalte es im Auge.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Dann fiele mir ein simpler Wrapper ein. Also ein kleines Programm, welches die Queries an die Access DB weiterleitet und die Ergebnisse in einer gut parsebaren Form (JOSN? XML?) zurückliefert. Dieses könntest Du in IronPython schreiben (oder einer .NET-Sprache Deiner Wahl) und dann aus dem eigentlichen Python-Programm (``subprocess``-Modul) aufrufen. Ist allerdings einiges an Overhead...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Papageno
User
Beiträge: 33
Registriert: Sonntag 21. Dezember 2014, 10:53

Hyperion hat geschrieben:... Ist allerdings einiges an Overhead...
Jepp, dachte auch schon daran mein "altes" Programm zum Auslesen beizubehalten und in sqlite zu exportieren. Das dürfte mit mittlerem Aufwand machbar sein, zudem VB auch sqlite kann. Bis sich was passendes findet sollte das praktikabel sein. Aber irgendwie schmeckt mir das (noch) nicht.
BlackJack

@Papageno: In der Mausefalle MS bist Du durch die Messgeräte ja schon. MS Access benutzt halt keiner der nicht in dieser Falle stecken möchte. :-)
Papageno
User
Beiträge: 33
Registriert: Sonntag 21. Dezember 2014, 10:53

BlackJack hat geschrieben:@Papageno: In der Mausefalle MS bist Du durch die Messgeräte ja schon. MS Access benutzt halt keiner der nicht in dieser Falle stecken möchte. :-)
Wirklich ? dachte MS Access benutzt jeder, der weis dass man damit extra Reibach machen und seine Kunden an ein System binden kann :mrgreen: :mrgreen: Sollte das was werden mit meiner "Lebensaufgabe", dann wird sie auch auf anderen Systemen laufen. :P Aber das ist den Usern zunächst egal, denn wichtig ist dass das OS Solitär kann...
ähm, jetzt wirds aber arg offtopic :|
BlackJack

@Papageno: Bei mir heisst Solitaire KPatience. :-) Und es gibt da auch etwas in Python: http://pysolfc.sourceforge.net/
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Papageno hat geschrieben:[...], denn wichtig ist dass das OS Solitär kann...
Nur dann kann man ja auch die Zertifizierung zum MCSE ablegen. Das heißt meiner Meinung nach nämlich nicht Microsoft Certified Systems Engineer sondern Minesweeper Consultant and Solitaire Expert. :mrgreen:
Papageno
User
Beiträge: 33
Registriert: Sonntag 21. Dezember 2014, 10:53

@BlackJack: :oops: :o
@/me:Das erklärt so manches :mrgreen:
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

/me hat geschrieben:... Minesweeper Consultant and Solitaire Expert. :mrgreen:
ROFL YMMD! :mrgreen:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten