Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Mehrere SQL Datenbanken per VBA über ODBC abfragen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von thorsten1304, 29 Juli 2013.

  1. thorsten1304

    thorsten1304 Benutzer

    Hallo zusammen,

    ich komme leider irgendwie nicht weiter. Ich möchte ganz gern unser Reporting automatisieren und habe dafür bereits unsere SQl Datenbanken per ODBC im Windows angebunden. Ich kann auch ohne Probleme per MS Querie oder VBA darauf zugreifen. Wie muss ich den folgenden Code anpassen, damit ich mehrere SQL-Datenbanken, die auf dem gleichen Server liegen, öffnen kann? Ich möchte eine vorhandene Select-Anweisung nutzen, welche zwei Datenbanken verknüpft und abfragt.


    Code:
    Sub DBreader()
     
     
     
        Dim cnt As New ADODB.Connection
     
        Dim rst As New Recordset
     
        Dim strconnectstr As String
     
        Dim qry As String
     
     
     
        strconnectstr = "Provider=MSDASQL;Driver={MySQL ODBC 5.2 Unicode Driver};Server=192.168.200.01;Database=customer_portal;User=name;Password=password;Option=3;"
     
     
     
        qry = "SELECT Count(id) FROM customer_portal.user"
     
     
        cnt.Open strconnectstr
     
     
     
        rst.Open qry, cnt
     
     
     
        Range("a5").CopyFromRecordset rst
     
     
     
    End Sub 
    Vielen Dank vorab

    Gruß Thorsten
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Möglicherweise gar nicht, IIRC kannst Du, wenn der User auf DB-Ebene Rechte in beiden Datenbanken hat, da auch zugreifen.
     
  3. thorsten1304

    thorsten1304 Benutzer

    Ich habe auf alle DBs Zugriffsrechte. Wenn ich die DBs unter phpMyAdmin mit
    Code:
    SELECT count(DB1.id) FROM online_shop.order_info DB1, online_shop.ba_order DB2 WHERE DB1.order_id=DB2.id and email not like '%meetyoo.de' and tariff_no='BA ONLINE' and order_date>='2013-07-01' and order_date<='2013-07-31'
    
    verknüpfe, so bekomme ich auch die gewünschten Ergebnisse. Ich möchte dies aber gern automatisiert mittels VBA im Excel lösen. Dann reicht ein Knopfdruck für die 30 notwendigen Statements.
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Ja, und? Scheitert es jetzt daran, das SQL aus dem ersten Posting durch das im zweiten zu ersetzen?
     
  5. thorsten1304

    thorsten1304 Benutzer

    Mein Grundproblem ist, dass ich nicht weiß wie ich beide Datenbanken öffne damit ich sie dann abfragen kann. Für eine DB habe ich es ja abgebildet. Ich muss doch aber irgendwo die zweite DB auch noch zuweisen, damit diese überhaupt abgefragt werden kann.
     
  6. akretschmer

    akretschmer Datenbank-Guru

    Soweit ich weiß nein. Über die eine Verbindung kannst Du auch die andere DB abfragen.
     
  7. thorsten1304

    thorsten1304 Benutzer

    Echt schräg ;-) Es funktioniert, egal welche DB ich auf dem Server öffne. Danke !!!
     
  8. akretschmer

    akretschmer Datenbank-Guru

    Ja, bei MySQL geht das. In PostgreSQL z.B. würde es nicht gehen, da bräuchte man dblink oder SQL/MED (Foreign Data Wrapper).
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden