Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mit VBScript auf eine lokale AccessDB zugreifen ohne Office (https://www.delphipraxis.net/88916-mit-vbscript-auf-eine-lokale-accessdb-zugreifen-ohne-office.html)

Luckie 22. Mär 2007 23:51


Mit VBScript auf eine lokale AccessDB zugreifen ohne Office
 
Ich habe hier noch eine AccessDB rumliegen, die ich gerne auslesen würde. Ich habe allerdings kein MS Office installiert. Jetzt haben wir in der Schule über VBScript auf eine Datenbank zugegriffen und ich würde das gerne auch mit meiner lokalen AccessDB machen:
Code:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Script       : Datenbankzugriff                                            '
' File         : 06_01_ADODB_DatenbankZugriff.vbs                            '
' Date         : 2007-03-22 - Last modified: 2007-03-22                       '
'                                                                             '
'              Michael Puff - [url]http://www.michael-puff.de[/url]                     '
'                                                                             '
'              Zugriff auf eine Datenbank mit ADODB                          '
'                                                                             '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

const CAPTION = "06_01_ADODB_DBZugriff.vbs"
const CONSTR = "driver=MySQL ODBC 3.51 Driver;server=10.17.171.200;uid=root;pwd=;database=Benutzerverwaltung2;option=NUM"

Set adoDataCom = CreateObject("ADODB.Connection")

' Datenbankverbindung aufbauen
adoDataCom.open(CONSTR)
' SQL Statement
Set rs = adoDataCom.execute("SELECT * FROM benutzer")

' Iterieren durch die Ergebnismenge
While not rs.eof

  For Each field in rs.fields
    s = s & field & ", "      
  Next  
  ' letzte Komma abschneiden und Zeilenumbruch
  s = Left(s, len(s) - 2)
  s = s & vbcr
 
  rs.moveNext
Wend

MsgBox s, 0, CAPTION
Jedoch weiß ich nicht, wie ich den ConnectionString aufbauen muss.

Ich habe es jetzt so probiert:
Code:
const CONSTR = "driver=Microsoft Access Driver;server=127.0.0.1"
, jedoch bekomme ich den Fehler:
Zitat:

Fehler: [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben

EWeiss 23. Mär 2007 05:23

Re: Mit VBScript auf eine lokale AccessDB zugreifen ohne Off
 
Hallo

hast du mal in der Controllpanel nachgeschaut ob der Treiber überhaupt installiert ist ?
Und du die zugriffsrechte dafür hast.

'Datenquellen (ODBC)' Systemsteuerung

Der connectionstring lautet so..

cn = connectionstring..

Code:
With Cn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .Properties("Data Source") = "C:\TestDB\Access\db.mdb"
    .Properties("Jet OLEDB:Database Password") = "test"
    .Properties("Jet OLEDB:System database") = _
                     "C:\TestDB\Access\db.mdw"
    .Properties("User ID") = "luckie"
    .Properties("Password") = "hmmmm"
    .Open
End With
Microsoft Access Driver hat damit nix zu tun!
Du benötigst den Provider "Microsoft.Jet.OLEDB.4.0"

Und das ist auch wieder abhängig von der Datenbank welche du benutzen willst.

Zitat:

MS-SQL-Server (OLEDB) "SQLOLEDB.1"
MS-SQL-Server (ODBC) "MSDASQL.1"
MS-Access97 "Microsoft.Jet.OLEDB.3.51"
MS-Access2000 "Microsoft.Jet.OLEDB.4.0"
Oracle-DB (von Oracle) "OraOLEDB.Oracle.1"
Oracle-DB (von Microsoft) "MSDAORA.1"
gruss Emil

gsh 23. Mär 2007 08:37

Re: Mit VBScript auf eine lokale AccessDB zugreifen ohne Off
 
Hi Luckie

Das schöne am Access Ding ist das man kein Office braucht um den OBAC Treiber insallieren zu können. Aber normallerweiße macht das Office steup für dich wenn du keins hast dann musst du es manuel machen.

Systemsteuerung -> Verwaltung -> Datenquellen (ODBC)
dann kommt ein fenster bei mir sind unter dem reiter "Benutzer-DSN" 3 Einträge. den *.mdb brauchst du aber nur.
Also gehst du auf hinzufügen und wählst dann den "Microsoft Access Driver (*.mdb)" aus und installierst ihn (nicht den der mit "Driver do ..." anfängt)
So wenn er dann in der Liste ist müsste er jetzt installiert und bereit zum Einsatz sein (vllt. musst du Windows noch mal neustarten, hab des nie getestet)

Viel Glück

Grüße
Alex


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz