OpenOffice/ODBC-Verküpfung/Terminal-Server

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: OpenOffice/ODBC-Verküpfung/Terminal-Server

von Toxitom » Mi, 01.02.2006 14:38

Hey all,

also, die Exception deutet darauf hin, dass die Verbindung zur Datenquelle fehlerhaft war bzw. aktuell nicht möglich ist.
Zu dem Zeitpunkt an sich merkwürdig.
Kann ich im Moment wenig zu sagen - hab allerinds auch keine Zeit, mich tiefer damit zu befassen.

@Saturnus:

Der Code hat einige Ungenauigkeiten - da müsste mal überarbeitet werden.

Gruss
Thomas

von pmoegenb » Mi, 01.02.2006 13:52

Vermutlich kann dann nur noch Toxitom helfen.

Gruß

Peter

von saturus » Mi, 01.02.2006 13:49

Leider hat auch eine Korrektur der Schreibweise nichts gebracht. Es ist einfach nur zum Haare raufen (noch hat man ja welche!).

von pmoegenb » Mi, 01.02.2006 13:39

Hallo Saturus,

ich bin mir nicht sicher, ich habe mich mit Basic noch nicht eingehend befasst, aber kann es an der Schreibweise oresultset liegen ?

Das Objekt ist eigentlich als oResultset benannt.

Gruß

Peter

von saturus » Mi, 01.02.2006 10:56

Danke für den Tipp. Der Zugriffsrechte von Seiten der AS/400 geht auch alles klar. Dies haben wir durch eine manuelle Abfrage mit den gleichen Benutzerkonto (auf der AS/400) geprüft.

Hier mal kurz das Script, um das es sich handelt:
Sub KundNrNachschlagen
Dim oDoc as Object
Dim sDBName as String
Dim oDBConnection,oDVContext,oDataSource,oStatement,oResultset as Object
DIM Sql as String

Dim Adresse as String
Dim COName,Name1,Name2,Name3,Strasse,Land,PLZ,Ort as string
Aktivierung Datenbankabfragen
sDBName = "Adressen_AS400"
oDoc=thiscomponent
oDBContext=CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDataSource=oDBContext.GetByName(sDBName)
oDBConnection=oDataSource.GetConnection("*****","*****")
oStatement=oDBConnection.createStatement()
SQL = "select kndsta.kndstacomp,kndsta.kndstakey,adrsta.ADRSTANM1,adrsta.ADRSTANM2, ADRSTA.* from Therfecht.kndsta as kndsta join therfecht.adrsta as adrsta on kndstacomp = adrstacomp and kndstaadr = adrstakey where KNDSTACOMP = 'TEST' and KNDSTAKEY = " + dlg.getcontrol("Feld_KundenNr").text

Datenbankergebnis
oResultset=oStatement.executeQuery(SQL)
Datenbankauswertung
if oresultset.first = false then
msgbox "Nix da"
else
oResultSet.first
MsgBox trim(oresultset.getstring(2)) + " = " + [crlf ] + TRIM(oResultSet.getstring(3 )) + " , " + TRIM( oResultSet.getstring(4 ))
endif
End Sub


Bei der Zeile "if oresultset.first = false then" kommt oben genannte Fehlermeldung, aber auch nur auf einen Client und nicht auf einen "richtigen" PC.

Gruß, Saturus.

von pmoegenb » Mi, 01.02.2006 10:22

Hallo Saturus,
Gibt es die Möglichkeit, dass der Service "com.sun.star.sdbc.SQLExeotion" auf einem TS nicht korrekt funktioniert?
Diese Frage kann ich Dir leider nicht beantworten.

Was die Berechtigungsproblematik anlangt dachte ich eher an die AS/400, als an den TS.

Gruß

Peter

von saturus » Mi, 01.02.2006 10:02

Danke erstmal für die schnelle Antwort.

Ja, es handelt sich um eine AS/400 Maschine. Der ODBC-Treiber ist auf dem TS installiert. An Berechtigungsprobleme dachten wir auch schon. Testweise haben wir einen Testnutzer sogar ADMIN-Rechte gegeben. Dies hat auch nicht geholfen.

Der Datenbankzugriff von OpenOffice klappt soweit ja auch. Mit hilfe von OpenBase haben wir einen Abfrage erstellt, welche die Daten in gleicher Weise abfragt, wie das Script. Dort wird das Ergebnis in Tabellenform korrekt ausgegeben.

Gibt es die Möglichkeit, dass der Service "com.sun.star.sdbc.SQLExeotion" auf einem TS nicht korrekt funktioniert?

Gruß Saturus

von pmoegenb » Mi, 01.02.2006 09:27

Hallo Saturus,

mir sagt lediglich der Ausdruck iSeries etwas. Dies ist die neue Bezeichnung des früheren IBM-Midrange-Systems AS/400. Bedeutet dies, dass Du Daten von einer DB/400 Datenbank per ODBC-Treiber holen möchtest ? Wenn der ODBC-Treiber auf dem TS installiert ist, sind es möglicher Weise Berechtigungsprobleme.

Gruß

Peter

OpenOffice/ODBC-Verküpfung/Terminal-Server

von saturus » Mi, 01.02.2006 07:57

Hallo an Alle!

Erst mal ein dickes Danke an die Mitglieder dieses Forum. Ihr habt mir mit euren Beiträgen bei der Lösung vieler Probleme, welche ich bei der Umsetzung eines Projektes hatte, geholfen.

Nun eine Frage: Wer kann mit folgeder Fehlermeldung etwas anfangen?

BASIC-Laufzeitfehler.
Es ist eine Exeption aufgetreten
Type: com.sun.star.sdbc.SQLExeotion
Message: [IBM][iSeries Access ODBC-Treiber]Operation ist momentan ungültig.

Zur Info:
In eine Dialogmaske soll der Anwender eine Kundennummer eingeben. Diese wird dann auf unseren Server gesucht und dann der Kundendatensatz zurück gegeben. Auf einem "normalen" PC im Netzwerk funktioniert es einwandfrei. Nur bei Clients, welche am Terminalserver arbeiten geht es nicht. (Win2003Server)

Vielleicht hat jemand noch einen Tipp, wo man suchen kann. Ich wäre sehr dankbar! Dies wäre das letzte Problem, was zu lösen wäre bei uns in der Firma. Danach steht einer Umstellung von MSOffice zu OpenOffice nichts mehr im weg.

Gruß, Saturus.

Nach oben