2012-04-02 8 views
0

Ok, bekam ich einen unserer JAVA/JDBC Jungs einen Blick auf meine JDBC Problem zu nehmen zu kommen, wie in http://stackoverflow.com/questions/9787525/jdbc-ordeal-it-shouldnt-be-that-difficult-partial-solved-new-errors dokumentiert Es scheint, dass, wenn ich als Connection ich diesen Fehler setzen ojdbc14:Für JDBC in XPages, wie weiß der Server die Verbindungsinformationen?

Error while reading the relational data 
Error while loading connection ojdbc14 
Error parsing XML stream 
InputStream cannot be null 

Aber wenn ich habe ojdbc14.jdbc als Connection erhalte ich diesen Fehler:

Error while reading the relational data 
comp/env/jdbc/ojdbc14.jdbc 

Er scheint zu denken, dass die zweite Version der ist, der verwendet werden sollte, aber dass es einige fehlende Konfiguration auf dem Server ist, wie JNDI Name oder etwas ähnliches.

Ich brauche jemanden, der bestätigt, dass das eine oder das andere das richtige Format hat und was genau von der Serverseite zu tun ist, damit es die Verbindungsinformationen findet.

Jede Hilfe wäre willkommen.

MJ

Antwort

1

Siehe http://www.openntf.org/internal/home.nsf/response.xsp?action=openDocument&documentId=7888655D70FDDD6186257930002E1D3F&MainID=D861DE698262EDDA86257930002AEE52 für ein Beispiel, wie man MS SQL verbinden. Es kann Ihnen einige Ideen geben, da JDBC für jedes RDBMS mehr oder weniger gleich ist. Siehe Punkt 1. Es reicht nicht aus, den .jar in den plugins Ordner zu legen. Es muss als Plugin sein.

Eine Anleitung zum Erstellen eines Plugins finden Sie unter http://www-10.lotus.com/ldd/ddwiki.nsf/dx/creating_an_xpages_library.

Update Ich habe es von Grund auf mit H2-Datenbank-Engine versucht. Folgende Arbeiten:

1) I JDBC-Treiber WebContent/WEB-INF importiert/lib

2) Ich habe WebContent/WEB-INF/jdbc/h2.jdbc mit folgendem Inhalt

<jdbc> 
    <driver>org.h2.Driver</driver> 
    <url>jdbc:h2:tcp://localhost/~/test</url> 
    <user>SA</user> 
    <password></password> 
</jdbc> 
erstellen

3) Erstellen Sie eine einfache X-Seite mit folgendem Inhalt. Ich markierte mit fettem Teil, wo die in (2) definierte Verbindung spezifiziert ist.

<xp:viewPanel rows="10" id="viewPanel1" var="user"> 
    <xp:this.facets> 
     <xp:pager partialRefresh="true" layout="Previous Group Next" 
      xp:key="headerPager" id="pager1"> 
     </xp:pager> 
    </xp:this.facets> 
    <xp:this.data> 
     <xe:jdbcQuery connectionName="h2" sqlQuery="select * from test" 
      var="jdbcData1" defaultOrderBy="id"> 
     </xe:jdbcQuery> 
    </xp:this.data> 
    <xp:viewColumn id="viewColumn1" columnName="id"> 
     <xp:this.facets> 
      <xp:viewColumnHeader xp:key="header" id="viewColumnHeader1" 
       value="ID" sortable="true"> 
      </xp:viewColumnHeader> 
     </xp:this.facets> 
    </xp:viewColumn> 
    <xp:viewColumn id="viewColumn2" columnName="name"> 
     <xp:this.facets> 
      <xp:viewColumnHeader xp:key="header" id="viewColumnHeader2" 
       value="NAME" sortable="true"> 
      </xp:viewColumnHeader> 
     </xp:this.facets> 
    </xp:viewColumn> 
</xp:viewPanel> 

Wird versuchen, es später in Oracle 11g Express Edition zu reproduzieren.

UPDATE # 2

Für Oracle 11 XE Release 2 funktioniert es genau das gleiche, mit nur einer Ausnahme. Ich hatte http://www-01.ibm.com/support/docview.wss?uid=swg21279509 zu folgen folgenden Rechte zu gewähren:

grant { 
    permission java.lang.RuntimePermission "getClassLoader"; 
} 

Darüber hinaus habe ich ojdbc6.jar wie in der Oracle-Dokumentation empfohlen, aufgrund der Tatsache, dass Domino 8.5.3 verwendet Java 6. Natürlich meine erste Aussage mit Hinzufügen von Oracle JDBC-Treibern zu Domino in Form eines Plugins, da dies die Verwendung in jeder XPages-Anwendung ermöglicht.

+0

Ich brauche ojdbc14.jar, aber ich muss das Plugin neu kompilieren und es fragt nach der JDBCProvider-Schnittstelle. Wo finde ich das? Ist es in meinem Client oder auf dem Server? –

+0

Siehe folgende Diskussion auf openntf.org http://www.openntf.org/internal/home.nsf/response.xsp?action=openDocument&documentId=DA679E235AB834AD862579AD00328D3B&MainID=C3103EC4E9FE5DDA86257901006837F1 Es Skelett für ein Plugin angebracht ist, die Sie verwenden können mach deine. Stellen Sie sicher, dass Sie auch andere Antworten lesen, da diese wichtige Informationen enthalten können. –

0

MJ,

Ich habe gerade diesen Beitrag gefunden. Durch Hinzufügen der Erweiterung .jdbc haben wir den DOM-Parserfehler scheinbar umgangen. Ihr XML gibt jetzt keine Ausnahme aus, aber wenn Sie einfach "ojdbc14.jar" auf dem Domino Server platzieren, wird auf diesem Server kein JNDI-Name erstellt. Es wird einfach der Java-Bytecode auf diesen Server gesetzt, der für die Oracle-Verbindungen benötigt wird - der Code-Teil, aber nicht die Konfiguration.

Die Datei ojdbc14.jdbc enthält alle Informationen, die der Server zum Erstellen des JNDI-Lookup-Namens benötigt, aber die Details zum Registrieren auf dem Server, wie Sie erwähnt haben, sind die Anweisungen für die bisher nicht gefunden .