Announcement

Collapse
No announcement yet.

ADO Problem mit "Initial Catalog"

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ADO Problem mit "Initial Catalog"

    Hallo

    Ich Arbeite mit D5 SP2, und möchte mit ADO auf einen MS-OLAP Datanwürfel zugreifen. Mit einer Select Anweisung hole ich mir die Informationen aus dem Würfel heraus. Das Klappt alles super in der IDE und auch wenn der ConnectionString mit wenn Wizard erstellt würde. Da jetzt ein User damit Arbeiten soll, möchte ich das Progemm ein wenig Benutzerfreundlicher gestallten. Habe dabei aber leider Probleme, wenn ich den ConnectionString zu Laufzeit erstellen möchte.

    1.) Es soll ein Verbindung zu einer bestimmten Datenbank erstellt werden. Beim erstellen einer Connection über den Wizard, habe ich eine Liste "Anfangskatalog' welche Datenbanken(Cubes) zur Verfügung stehen.
    Der User soll einen Server wählen, und nach einem erfolgreichen Connect sollten in einer ComboBox die verfügbaren Cubes angezeigt werden. Leider finde ich keine Lösung dafür es ohne den Connection Wizard also zur Laufzeit zu erzeugen. Mit GetTablesName bekomme ich zwar die Tabellen, aber nicht dir Datenbanken.

    2.) Wie kann ich nach einem erfolgreichen Connect den Anfangskatalog wechsel, ohne das ADOConnect geschlossen und neu geöffnet wird.

    Danke im Voraus für die Hilfe
    Schöne Grüße aus Wien

  • #2
    Hallo,

    zu Frage 1: <br>
    Das Connection-Objekt stellt die Methode <b>OpenSchema</b> zur Verfügung, wobei diese Methode auch von TADOConnection durchgereicht wird. Über die Konstante <b>siCatalogs</b> kann man die Liste mit allen Datenbanken dieses Servers anfordern, wobei die Liste als Recordset-Objekt zurückgeliefert wird und über TADODataSet zur Verfügung steht:
    <pre>
    ADOConnection1.OpenSchema(siCatalogs, EmptyParam, EmptyParam, ADODataSet1);
    </pre>

    zur Frage 2: <br>
    ADO kann nicht zaubern - der Initial Catalog legt nur fest, zu welcher Datenbank eine Verbindung (Sitzung) aufgebaut werden soll. Wird die Datenbanksitzung gewechselt (andere Datenbank), ist auf jeden Fall eine neue Verbindungsaufnahme notwendig (denn ansonsten würde man sich ja nach einem erfolgreichen Login auf alle anderen Datenbanken aufschalten können, auch wenn man deren Passwort nicht kennt)

    Comment

    Working...
    X