Zugriff auf eine Oracle 10 Express Datenbank

  • Hallo zusammen,

    ich versuche in einem Tobit-Archiv unsere Kundenadressen aus der Warenwirtschaft anzuzeigen.

    Die Daten liegen auf einer Oracle 10 Express Datenbank. Der Zugriff auf Tabellen klappt auch problemlos wir würden jedoch gerne auf einen View zugreifen. Ist das möglich? Wir können den View angeben und auch die Felder anlegen bekommen jedoch im Anschluss keine Daten angezeigt.

    Weiterhin - und das ist das viel größere Problem - öffnet das TIC sehr viele Sessions auf der Datenbank die nicht automatisch wieder geschlossen werden obwohl in den Einstellungen zur Datenbankverbindung ein TimeOut von 60 Sekunden eingetragen wurde. Aber irgendwie verschwindet diese Einstellung auch immerwieder... ?(

    Wir haben auch schon probiert Oracle-Daten in Access zu verknüpfen und dann auf die Access mdb zugreifen aber da ist es genau das Gleiche.

    Wir setzen den Tobit V8 auf einem Windows 2003 Server und auf XP Professional Workstations ein.

    Hat irgendjemand eine Idee woran das liegen könnte?

    Gruß
    Die Werdende

  • Hi,

    hab vor kurzem auch über David V8 auf eine View in einer OracleDB10 (Keine Express) zugegriffen.
    Funktioniert eigentlich sehr gut.
    Hab einen Ordner angelegt und als Typ SQL-Variabel ausgewählt.
    Vorher solltest Du noch den ODBC-Treiber aus dem Oracle-Client auf der Workstation installieren und konfigurieren.
    Dann über diesen ODBC-Treiber auf die DB zugreifen und als Tabelle die View eintragen.

    Hast Du Deine View mal in PL/SQL etc. getestet?
    Wieso euer David so viele Verbindungen aufbaut kann ich Dir allerdings nicht sagen.

    Gruß
    Matthias

    Einmal editiert, zuletzt von hagen_fenris (24. Juni 2008 um 15:47)

  • Da David afaik eine Update-Funktionalität erwartet, funktionieren komplexe Views, auf die kein Update möglich wäre, nicht.

  • Wieso erwartet David eine Update-Funktionalität?
    Noch viel interessanter ist die Frage, wieso David die View updaten will?
    Updates über eine View sind ja nicht möglich....sagt ja schon der Name....wär ja sonst eine Write ;)

    Egal wie komplex die View in der DB auch sein möge, David hat da nichts zu tun.
    Die Anfrage von David läuft gegen die View, welche dann die dort hinterlegten Felder wieder ausspuckt.

    Die eigentliche Arbeit hat dabei die DB.

    Einmal editiert, zuletzt von hagen_fenris (25. Juni 2008 um 08:12)

  • Hallo,

    entschuldigt bitte, dass ich mich so lange nicht gemeldet habe. Ich wollte das alles noch mal in Ruhe testen und dazu bin ich erst heute gekommen.

    Ich habe die View noch einmal komplett neu gemacht und siehe da: Es geht! :thumbup:
    Keine Ahnung woran das gelegen hat. Ich hatte es jedenfalls genauso gemacht wie von hagen_fenris beschrieben.

    Wobei ich das Problem mit den vielen Sessions immernoch habe. Ich bin mal gespannt ob ich dazu noch eine Lösung finde.

    Auf jeden Fall schon mal Vielen Dank!!

    Gruß
    Die Werdende

  • Führst Du die Abfrage der View von einem bestimmten Client aus?
    Oder nutzen die anderen User diesen SQL-Zugriff bereits?

    Einmal editiert, zuletzt von hagen_fenris (1. Juli 2008 um 15:51)

  • Produktiv genutzt wird es bisher nicht aber ich hatte es schon von einem anderen Rechner aus getestet um sicher zu gehen das es nicht an meinem Rechner liegt. Dort war aber das gleiche Problem.
    Was mich irritiert ist, dass ich bei den erweiterten Einstellungen keinen Verbindungstimeout eingeben kann bzw. dieser Wert nicht gespeichert wird. Kannst bzw. hast Du dort etwas eingegeben? In der database.ini müsste das ja der Wert FetchIntervall=100 sein, oder? Da habe ich einfach mal testweise 10 eingegeben. Aber das scheint auch nicht zu helfen.

    Gruß
    die Werdende

  • Hi,
    das Feld für den Timeout kann ich zwar füllen aber nach einem Klick auf den OK-Button ist der Wert beim nächsten aufruf wieder leer.

    Wo schaust Du den nach, wieviele Sessions geöffnet werden?

    Meine Database.ini:
    [ConnectString]
    Value=Provider=MSDASQL.1;Password=shc;Persist Security Info=True;User ID=shc;Data Source=DB;Mode=Read

    [IDQuery-FROM]
    Value=v056ad

    [DataQuery-FROM]
    Value=v056ad

    [SQLWHERE]
    Value=where sart = 'K' and fil = 4 and fax is not null

    [DataQuery-OPTIONS]
    KeyField=ADRN
    KeyFieldType=numeric
    StringQuote='
    FetchIntervall=100
    ReadWrite=0

    [SQLFIELDS]
    ADRN=ADRN
    NAME=NAME
    ORT=ORT
    FAX=FAX

    [Field-ADRN]
    ActionParam=
    ActionType=
    Visible=1

    [Field-NAME]
    ActionParam=
    ActionType=
    Visible=1

    [Field-ORT]
    ActionParam=
    ActionType=
    Visible=1

    [Field-FAX]
    ActionParam=
    ActionType=
    Visible=1

    [INSERT]
    command=
    keyquery=

  • Dann scheint das ja normal zu sein mit dem Timeout Feld.

    Aber genau so sieht meine database.ini auch aus. Dann ist es ja vielleicht auch eine Einstellung des ODBC-Treibers oder der Datenbank.
    Die Sessions sehe ich immer auf der Web-Oberfläche von der Datenbank. Da steht dann ja genau welche Anwendung von welchem Benutzer auf welchem Rechner diese Session geöffnet hat. Und jedes mal wenn ich das Archiv öffne - sprich die Abfrage auf die Datenbank ausgeführt wird - wird eine neue Session erzeugt.

    Gruß
    Die Werdende

  • Du hast recht...
    hier öffnet sich bei jedem Klick auf das Archiv eine neue Session.
    Ich schau d. ganze immer in PL/SQL nach.

  • Na dann weiß ich wenigstens, dass das normal ist :rolleyes:
    Ist bei Euch ja auch egal wenn Ihr eine Vollversion habt aber die Expression erlaubt halt nur eine bestimmte Anzahl Sessions...
    Ich habe immernoch die Hoffnung, dass die Leute von Tobit eine Antwort haben. Aber diese ARC-Interkom Anfragen ziehen sich ja immer etwas hin.
    Aber vielen Dank für Deine Hilfe!

    Gruß
    Die Werdende

  • Hallo zusammen,

    also falls es jemanden interessiert, ich habe folgende Antwort von unseren Freunden aus Ahaus bekommen:
    ____________________________________________________________________________________________

    Tobit Software schrieb am 11-Aug-2008 11:48
    Das von ihnen beschriebene Problem ist ein bekannter Effekt in David V8. Ein Test unter David.Zehn! zeigte
    das bei SQl Adressen eine einmal aufgbaute Verbindung bei einem erneuten Zugriff auf die SQL_Adressen
    wieder verwendet wird, wodurch pro SQL-Arichve jeweils eine Verbindung verwendet wird.

    Viele Grüße aus Ahaus
    ____________________________________________________________________________________________

    ist nicht unbedingt die Antwort die ich mir erhofft hatte aber was will man machen :wacko:

    Gruß
    Die Werdende

  • D.h. entwdr. damit leben oder auf 10 upgraden.
    Zum Glück brauch ich die Funktion nicht mehr.

    Falls Du keine Lust auf ein Upgrade hast, schreib Dir ein kleines SQL-Skript das die entsprechenden Daten aus der DB in eine Datei schreibt.
    Die lässt Du dann wieder über die Import-Funktion einlesen.
    Ist zwar nicht so aktuell wie die SQL-Anbindung.
    Vebraucht aber keine einzige Session ;)
    Wenn Du die Daten 2-3mal pro Tag aktualisierst reicht d. im Normalfall auch aus.
    Wir aktualisieren unser Outlook 1x Nachts. Bisher hat sich noch kein User beklagt.

    Gruß
    Hagen

  • Auch eine Art seinen Kunden Updates zu verkaufen :whistling:
    Dann werde ich mir mal was schönes zurechtbasteln...

    Danke & Gruß
    Die Werdende

  • So kann mans auch sehen :)

    Wie schon geschrieben, ein kleines SQL-Skript und die Import-funktion im DvISE Administrator reichen auch.
    Wie die Datei aufgebaut sein muß steht im Handbuch.
    [DEL] nicht vergessen.... ;)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!