FAQ

Übersicht
  1. Ich bekomme beim connect den Fehler ORA-00604/ORA-12705. Was kann ich tun?
  2. jOra reagiert minutenlang nicht. Woran kann das liegen?
  3. Wie definiere ich die zu verwendenden Dateiendungen?
  4. Wie lege ich das Encoding der Dateien fest?
  5. Was ist PL/Doc?
  6. Wie kann ich die Default Connection für ein Projekt festlegen?
  7. Wie kann ich Tastaturkürzel festlegen?
Ich bekomme beim connect den Fehler ORA-00604/ORA-12705. Was kann ich tun?

Es handelt sich hierbei um ein spezielles Problem des verwendeten JDBC-Treibers. Leider lässt sich dieser aus Architekturgründen nicht austauschen.

Um das Problem zu umgehen müssen beim Start von Eclipse die Parameter -Duser.language=... und -Duser.country=... angegeben werden. Der Thread 1098480 aus dem OTN Discussion Forum beschreibt das Problem ausführlich und gibt weitere Hinweise.

jOra reagiert minutenlang nicht. Woran kann das liegen?

Bei manchen Datenbanken reagiert Eclipse minutenlang nicht mehr auf Benutzeraktionen, wenn mit jOra SQL-Anweisungen oder Stored Procedures bearbeitet werden sollen. Das Problem tritt besonders bei Datenbanken mit sehr vielen Datenbankobjekten (Stored Procedures, Tabellen, Views etc.) auf.

jOra verwendet im Gegensatz zu anderen Datenbanktools nicht die Metadaten des JDBC-Treibers um die Liste der Datenbankobjekte und deren Eigenschaften zu ermitteln, sondern greift direkt auf den Systemkatalog der Datenbank zu. Besonders intensiv werden die Views SYS.ALL_OBJECTS, SYS.ALL_PROBE_OBJECTS, SYS.ALL_ALL_TABLES und SYS.ALL_TRIGGERS benutzt. Eine einfache Abfrage mit SELECT * FROM schafft Klarheit, ob die Abfragen auf den Systemkatalog die Ursache des Performanceproblems sind.

Abhilfe schafft in den meisten Fällen das aktualisieren der Statistiken durch Aufruf von DBMS_STATS.GATHER_SCHEMA_STATS('SYS').

Eine weitere Ursache kann eine hohe Anzahl von Datenbankschemas sein. Über das Kontextmenü einer Connection lassen sich die sichtbaren Schemas definieren. Hier reichen meist das Schema des Benutzers sowie die Schemas SYS und SYSTEM aus. Damit reduziert sich der Aufwand für die Syntaxhervorhebung und die Code Completion.

Wie definiere ich die zu verwendenden Dateiendungen?

Die zu verwendenden Dateiendungen lassen sich in den Preferences von Eclipse einstellen.

  1. Menüpunkt Window->Preferences öffnen
  2. Unter General den Eintrag Content Types öffnen
  3. auf der linken Seite PL/SQL and SQL files auswählen und aufklappen
  4. Für alle von jOra verwendeten Dateitypen ist hier ein Eintrag vorhanden und mit einer Dateiendung verknüpft. Über Add können weitere definiert werden. Sinnvoll ist jedoch nur ein weiterer Eintrag je Dateityp, da jOra sonst nicht eindeutig ermitteln kann welche Dateiendung verwendet werden soll.
  5. Die neue Dateiendung muss nun noch mit dem Editor verbunden werden, in dem die Datei bearbeitet werden soll. Dazu auf den Link File Associations klicken.
  6. Über den Button Add neben der Liste der File Types die neue Dateiendung hinzufügen.
  7. Die neue Dateiendung in der Liste auswählen
  8. Über den Button Add neben der Liste der Associated Editors den zu verwendenden Editor zuweisen
    • SQL Script Editor für alle SQL Scripts
    • PL/SQL Editor für alle anderen Dateien (z.B. Packages, Views, Trigger usw.)
Wie lege ich das Encoding der Dateien fest?

Das Encoding für alle Dateitypen lässt sich in den Preferences von Eclipse einstellen.

  1. Menüpunkt Window->Preferences öffnen
  2. Unter General den Eintrag Content Types öffnen
  3. auf der linken Seite PL/SQL and SQL files auswählen
  4. Ins Feld Default encoding das gewünschte Encoding eintragen (z.B. UTF-8)
  5. Button Update drücken (sonst wird die Änderung nicht wirksam).

Das beschriebene Vorgehen ändert das Encoding für alle von jOra verwendeten Dateitypen. Die Änderung lässt sich auch für einzelne Dateitypen durchführen, wenn nur die betreffenden unterhalb von PL/SQL and SQL files ausgewählt werden.

Was ist PL/Doc?

PL/Doc ist eine spezielle Art der Formatierung von Kommentaren in Prozeduren, Funktionen und Packages. Die Syntax lehnt sich stark an die von Javadoc an.

jOra hebt PL/Doc-Kommentare hervor und unterstützt die Erstellung der PL/Doc durch Code Completion. Außerdem wird die PL/Doc eines ausgewählten Datenbankobjektes im PL/Doc View angezeigt und ist somit jederzeit verfügbar.

Beispiel:

create or replace package bookEntry
/**
 * The header comment describes the goal of the package.
 * 
 * @author t. lorbeer
 * @since 1.0
 */
as
   /**
    * This is the description for the first procedure in this package.
    * 
    * @param bookingDate
    *    the booking date
    *    
    * @see getBookingDate
    * 
    * @exception date_is_null
    *    occurse when <i>bookingDate</i> is null.
    */
   procedure setBookingDate(bookingDate date);
   
   /**
    * Gets the booking date.
    * 
    * @return The booking date or <code>null</code>.
    */
   function getBookingDate() return date;
end;
/
     

Die folgende Aufstellung gibt eine Übersicht über alle Schlüsselwörter und deren Bedeutung:

@author Dokumentiert den Author der PL/Doc und des zugehörigen Quelltextes.
@deprecated Markiert den zugehörigen Quellcode als deprecated, d.h. das er nicht mehr verwendet werden soll. Es wird üblicherweise eine Erklärung angefügt durch was die Funktionalität ersetzt wurde.
@exception Dokumentiert welche Exceptions auftreten können.
@param Dokumentiert einen Parameter einer Funktion oder Prozedur.
@return Dokumentiert den Rückgabewert einer Funktion.
@see Definiert einen Querverweis auf ein anderes Datenbankobjekt.
@since Dokumentiert seit welcher Version die Funktionalität zur Verfügung steht.

Außerdem dürfen sämtliche HTML-Tags in einer PL/Doc verwendet werden. Der Einsatz sollte jedoch sparsam erfolgen da der Aufwand für die Erstellung einer PL/Doc dadurch sehr schnell ansteigt.

Wie kann ich die Default Connection für ein Projekt festlegen?

Damit die Default Connection für ein Projekt definiert werden kann muss dieses die Nature "de.tl.jora.JoraNature" besitzen. Es gibt zwei Möglichkeiten zu solch einem Projekt zu kommen:

  1. Man erzeugt ein neues Projekt über File/New/Project und wählt dort die Projektart jOra Project.
  2. Bei bestehenden Projekten kann man die Nature auch direkt in die Datei .project eintragen:
    <projectDescription>
      ...
      <natures>
        <nature>de.tl.jora.JoraNature</nature>
      </natures>
    </projectDescription>
    	

Danach lässt sich in den Projekteigenschaften eine der konfigurierten Connections als Default Connection auswählen.

Wie kann ich Tastaturkürzel festlegen?

Für die Definition von Tastaturkürzeln wird der Standardmechanismus von Eclipse verwendet.

Beispiel: definieren des Kürzels CTRL+ENTER zum ausführen einer SQL-Anweisung im SQL Worksheet

  1. Öffnen der Preference Pages (Windows->Preferences)
  2. Auswählen des Eintrages General/Keys
  3. Suchen des Kommandos für das das Tastaturkürzel definiert werden soll (z.B. durch Eingabe von 'sql' ins Suchfeld)
  4. Definieren des neuen Tastaturkürzels im Feld Binding und Überprüfung auf Konflikte mit bereits bestehenden Definitionen.


Copyright 2005-2010 Th. Lorbeer / luenasoft