Hallo zusammen,
ich habe ein Programm entwickelt (Powershell), dass eine Access Datenbank erstellt, dort eine Tabelle erstellt und diese dann auch befüllt.
Auf dem PC auf der Arbeit (WinXP x86) funktioniert das auch. Zu Haus (Win7 x64) klappt es nicht.
Für den Connection-String verwende ich folgende Funktion:
function New-ConnectionString {
$path = "$env:temp\connection.udl"
New-Item $path -ItemType File -Force | Out-Null
Start-Process $path -Wait
try {
(Get-Content $path)[2..10] | Out-String
} catch { }
Remove-Item $path
}
--> Es wird eine Datei (connection.udl) angelegt, geöffnet und der Inhalt ausgelesen.
In dem sich öffnenden (Datenverknüpfungseigenschaften) picke ich den (evtl) passenden
Treiber und die *.mdb raus und ich habe den Connection-String.
Wie gesagt, unter XP kein Problem, aber unter Windows 7 finde ich keinen passenden Treiber....
Habe schon gegooglet, aber absolut nix passendes gefunden, ich hoffe mir kann jemand helfen.
Gruß MichaTo
Hallo,
In welchem Verzeichnis lässt du die Datei erstellen? Hat es unter Win7 Schreibrechte?
Hast du unter Win7 die gleiche Access-Version? Ggf. unter http://www.connectionstrings.com nachsehen.
Gruß Andreas
Die Datei wird auf D:\ gespeichert, UAC is aus -> Schreibrechte bestehen.
Die Seite is echt gut, aber löst mein Problem leider nicht.
Es wirkt so, als ob auf meinem System kein Treiber/Provider vorhanden ist
um eine Verbindung zur Access Datenbank herzustellen.
http://img341.imageshack.us/img341/3598/dbdriver.png (http://img341.imageshack.us/img341/3598/dbdriver.png)
Da ist leider nichts was sich anhört um *.mdb Dateien zu öffnen :(
Gruß Micha
Wenn ich versuche eine Verbindung über den Microsoft.Jet.OLEDB.4.0 Provider herzustellen, kommt folgende Meldung:
$db = "D:\mydb.mdb"
$myconnectionstring = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = $db"
$adOpenStatic = 3
$adLockOptimistic = 3
$objConnection = New-Object -comobject ADODB.Connection
$objRecordset = New-Object -comobject ADODB.Recordset
$objConnection.Open($myconnectionstring)
Ausnahme beim Aufrufen von "Open" mit 1 Argument(en): "Der Provider kann nicht gefunden werden. Möglicherweise ist er
nicht richtig installiert worden."
Bei Zeile:1 Zeichen:20
+ $objConnection.Open <<<< ($myconnectionstring)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation
Ist auf dem System überhaupt Access installiert?
Was du brauchst ist z.B. ACEODBC.DLL
Andreas
Auf dem System ist Win 7 Ultimate x64 + Office 2003 (Full) installiert.
Habe grad meine C: Partition durchsuch, habe keine ACEODBC.dll gefunden.
Woher kommt diese Datei normalerweise?