Zum Hauptinhalt springen

FAQ - ODBC-Schnittstelle

FAQ - ODBC-Schnittstelle Häufige Fragen zur ODBC-Schnittstelle

Wie kann die Version des installierten CONZEPT 16-ODBC-Treibers ermittelt werden?

Auf der Notizbuchseite "Treiber" des ODBC-Datenquellen-Administrators von Windows existiert in der Liste der installierten ODBC-Treiber der Eintrag vectorsoft CONZEPT 16-Treiber, in der Spalte "Version" wird die Release des Treibers angezeigt.

Wie kann erreicht werden, dass nur bestimmte Benutzer über die ODBC-Schnittstelle auf die Datenbank zugreifen können?

In den Programmberechtigungen des Datenbankbenutzers kann der Zugriff über die Option "Externer Zugriff" gesteuert werden. Ist die Option nicht gesetzt, kann der Benutzer nicht über die ODBC-Schnittstelle auf die Datenbank zugreifen.

info

Ist die Option nicht gesetzt, ist der Zugriff auf die Datenbank auch über die Web-Schnittstelle , Programmierschnittstelle , SOA-Service und über die Funktion DbaConnect () nicht möglich.

Wie können Abfragen optimiert werden?

Bei Abfragen über das SELECT-Statement werden, falls möglich, Schlüssel zur Optimierung des Zugriffs verwendet. Schlüssel über alpha-Felder können nur verwendet werden, wenn keine Attribute (Definitionslänge, Groß-/Kleinwandlung usw.) dem Schlüsselfeld zugeordnet sind. In der Regel sollte ein Schlüssel definiert werden, wenn eine Bereichsabfrage oder eine Abfrage auf einen JOIN verwendet wird, deren Bedingung ein alpha-Feld enthält.

Unterstützt die ODBC-Schnittstelle die Hot-Standby-Option des CONZEPT 16-Servers?

Ab der ODBC-Treiber-Version 1.2.01 wird der Betrieb mit Hot-Standby unterstützt. Analog zum Client werden bei der Datenquelle beide Server angegeben (beispielsweise 10.1.0.1+10.1.0.2). Der Verbindungs-Timeout ist dabei fest auf 3 Sekunden eingestellt.

Beim Zugriff auf eine CONZEPT 16-Datenbank über den ODBC-Treibermanager werden nicht alle Felder einer Datei angezeigt.

Die meisten Abfrage-Werkzeuge wie zum Beispiel MS-Query können nicht mehr als 256 Spalten pro Tabelle verwalten. Einige wenige Programme reagieren sogar mit einem Absturz, wenn in einer Tabelle mehr als 256 Spalten existieren.

CONZEPT 16 kann bis zu 5.000 Spalten zurückgeben. Voraussetzung dafür ist, dass das Abfrage-Werkzeug mehr Spalten verarbeiten kann und der Eintrag MaxColSupport für die entsprechende Datenquelle in der Windows Registrierungsdatenbank auf den Wert der maximal verarbeiteten Spalten gesetzt wird.

Nach der Auswahl der Datenquelle und Eingabe des Datenbankbenutzers erscheint die Meldung "Connect to server failed".
  1. **** Der CONZEPT 16-Server, auf dem die ODBC-Schnittstelle reserviert ist, ist nicht erreichbar (Nicht gestartet, falsche IP-Adresse).
  2. **** Die Angaben des CONZEPT 16-Servers (Protokoll,Server) in der ODBC-Datenquelle sind nicht korrekt.
  3. **** Es wird ein CONZEPT 16-Server eingesetzt, dessen Release kleiner 1.5.04 ist.
Nach der Auswahl der Datenquelle und Eingabe des Datenbankbenutzers erscheint die Meldung "Database not found".

Der CONZEPT 16-Server konnte die Datenbank nicht öffnen. Evtl. ist die Datenbank nicht vorhanden oder nicht korrekt beim Treibermanager eingetragen.

Nach der Auswahl der Datenquelle und Eingabe des Datenbankbenutzers erscheint die Meldung "Invalid user account or password".
  1. **** Der angegebene Datenbankbenutzer existiert nicht.
  2. **** Das Kennwort ist nicht korrekt
  3. **** Dem Datenbankbenutzer fehlen die Rechte über ODBC die Datenbank zu öffnen. In den Programmberechtigungen des Datenbankbenutzers kann der Zugriff über die Option "Externer Zugriff" gesteuert werden. Ist die Option nicht gesetzt, kann der Benutzer nicht über die ODBC-Schnittstelle auf die Datenbank zugreifen.
Nach Auswahl der Datenquelle und Angabe des Datenbankbenutzers erscheint die Meldung "User limit is reached".

Der Benutzer wurde bei der Anmeldung abgewiesen, da die maximale Benutzeranzahl des CONZEPT 16-Servers erreicht ist.

Nach der Anmeldung an die Datenbank erfolgt die Meldung "Database is locked".

Die Meldung kann unterschiedliche Ursachen haben:

  • Die Datenbank ist gesperrt. Die Datenbank ist aufgrund einer Diagnose mit Recover oder durch den 4.0 kompatiblen Befehl LockDb() gesperrt.
  • Die Datenbank befindet sich im Standby-Modus. Die Datenbank kann nicht geöffnet werden, da diese vom CONZEPT 16-Server im Standby-Modus geöffnet ist. (siehe Hot-Standby ).
  • Die Datenbank hat die falsche Version. Es wird versucht mit der aktuellen Version des ODBC-Treibers auf eine Datenbank der Version 4.6 oder früher zuzugreifen. Aufgrund der Änderungen bei den Feldtypen kann der ODBC-Treiber nur mit Datenbanken der Version 4.7 und größer kommunizieren.
Beim Speichern oder Löschen eines Datensatzes erscheint die Meldung "Record lock violation".

Der Datensatz ist bereits von einem anderen Benutzer gesperrt.

Beim Einfügen eines Datensatzes erscheint die Meldung "Unique key violation".

Der Datensatz konnte nicht eingefügt werden, da bereits ein Datensatz mit einem identischen eindeutigen Schlüsselwert existiert.

Bei einer Abfrage oder Schreiben eines Datensatzes erscheint die Meldung "Numeric value out of range".

Es wurde ein Wert übergeben, der sich außerhalb des gültigen Wertebereiches eines CONZEPT 16-Datenbankfeldes befindet. In diesem Fall wird kein Datensatz in der Datenbank geschrieben.

Beim Einfügen / Ändern eines Datensatzes erscheint die Meldung "Data truncated column name".

Einem Datenbankfeld vom Typ alphanumerisch wurde eine zu lange Zeichenkette zugewiesen. Die Zeichenkette wird abgeschnitten und der Datensatz gespeichert. Das betreffende Datenbankfeld wird bei der Fehlermeldung hinter dem Doppelpunkt ausgegeben:

Data truncated column: ADR_aFirm

Die Meldung besagt, dass die Spalte 'ADR_aFirm' nicht die komplette Zeichenkette aufnehmen kann.

Bei einer Abfrage oder Datensatzoperation erscheint die Meldung "No such table or object".

Es wurde eine Tabelle angegeben, die in der Datenbank nicht existiert. Es ist zu beachten, dass Namen in CONZEPT 16 Sonderzeichen beinhalten können. Diese Sonderzeichen werden unter ODBC möglicherweise anders dargestellt. Ein "." im Namen unter CONZEPT 16 wird in einen "_" in ODBC umgewandelt.

Bei einer Abfrage oder Datensatzoperation erscheint die Meldung "Invalid column name".

Es wurde eine Spalte angegeben, die in der Datenbank nicht existiert. Der Name der Spalte, welche nicht referenziert werden konnte, wird bei der Fehlermeldung hinter dem Doppelpunkt ausgegeben:

Invalid column name: 'ADR_aFirm'

Die Meldung besagt, dass die Spalte 'ADR_aFirm' nicht gefunden wurde.

Bei Verarbeitung der SQL-Befehle "Insert", "Update" und "Delete" erscheint die Fehlermeldung "Insufficient user rights".

Dem Datenbankbenutzer fehlen die entsprechenden Rechte, um die Anweisungen auszuführen. Die Dateiberechtigungen welche dem Benutzer hinterlegt sind ( Benutzerpflege / Dateirechte ) werden bei dem Zugriff via ODBC ausgewertet.

Die ODBC-Schnittstelle des CONZEPT 16-Clients lässt sich nicht initialisieren (Der Befehl OdbcInit gibt als Ergebnis false zurück).

Es kann nur mit einer Enterprise- oder Developer-Edition auf eine ODBC-Datenquelle zugegriffen werden.

Wie ist eine Wertzuweisung für die CONZEPT 16-Feldtypen vorzunehmen?
  • Logisch 0 für false, 1 für true
  • Gleitkomma, Dezimal 10.99 für 10,99
  • Zeit '10:02' für 10 Uhr 02 Verwendet wird das Format 'hh
    :ss
    '
  • Datum '2005-02-01' für 01.02.2005 Verwendet wird das Format 'jjjj-mm-dd'
  • Alphanumerisch 'Dies ist ein String'
  • Ganzzahlig 200

Beispiel:

UPDATE ADR_F_CUSTOMER
SET ADR_dDate = '2005-02-01'
WHERE ADR_aFirmDescr = 'vectorsoft'
Welche SQL-Datentypen werden unterstützt?

Folgende Datentypen werden unterstützt:

  • CONZEPT 16-Datentyp: SQL-Datentyp
  • Alphanumerisch: CHARACTER VARYING(n) oder VARCHAR(n) n maximal 4096 Zeichen
  • Ganzzahlig 64: NUMERIC
  • Ganzzahlig lang: LONG
  • Ganzzahlig kurz: SMALLINT
  • Dezimal: NUMERIC maximale Genauigkeit von 58 signifikanten Stellen.
  • Gleitkomma: DOUBLE
  • Logisch: BIT
  • Zeit: TIME
  • Datum: DATE