Hallo zusammen,
habe bei der Portierung von Oracle-Tabellen/-Views etc. mit Datapump in eine Interbase-DB folgende Probleme:
Die unter Oracle vorhandenen Views werden nicht als View sondern als Tabellen in der Interbase-DB angelegt (liegen in der Interbase-DB nach dem "Datapump" unter der Rubrik "Tabellen" vor). Wenn ich nun diese Views auf der Interbase-DB mit dem SQL-Explorer von Hand anlegen (Syntax ist ein wenig anders als unter ORACLE - hat aber dann irgendwann funktioniert), dann werden die Views unter Rubrik "Ansichten" angelegt. Die durch Datapump erstellten gleichnamigen Tabellen müssen allerdings vorher gelöscht werden. Im "sql-Explorer" sieht soweit alles gut aus. Wenn ich auf die jeweiligen Views zugreife, werden auch die aktuellen Daten angezeigt.
Wenn ich nun über das Delphi-Programm zugreife (BDE-Änderungen etc. vorgenommen), erhalte ich eine Exception der Klasse EDBEngineError, Meldung: 'Allgemeiner SQL-Fehler arithmetic exception, numeric overflow, or string truncation Cannot transliterate character betwenn character sets'.
An den Programmsourcen habe ich keine Änderung vorgenommen. Lediglich bei "TDatabase" den entsprechenden "Alias" für die Interbase-DB eingebunden.
In der BDE benutze ich den Nativ-Treiber "INTRBASE" 4.0, als LANGDRIVER habe ich unter "System-INIT" 'ascii ANSI' vorbelegt.
Bei diesen Einstellung zeigt mir der "sql-Explorer" die Daten ohne Fehlermeldung an.
Ändere ich bei diesen Voreinstellungen nun den LANGDRIVER beim Native-Treiber "INTRBASE" (in der BDE unter Konfiguration) auf beispielsweise 'ascii ANSI' oder den "Alias" (bei der BDE unter Datenbanken) von leer auf 'ascii ANSI', so erhalte ich bereits mit dem "sql-Explorer" die o. a. Fehlermeldung.
Benutzt wird die BDE 5.01 (lt. Info zur BDE-Verwaltung). Die Versionsnummern belaufen sich unter den BDE-Versionshinweisen allerdings überwiegend auf 5.1.1.
Was könnte nun die Ursache sein und wo setze ich da an?
Vielen Dank!
habe bei der Portierung von Oracle-Tabellen/-Views etc. mit Datapump in eine Interbase-DB folgende Probleme:
Die unter Oracle vorhandenen Views werden nicht als View sondern als Tabellen in der Interbase-DB angelegt (liegen in der Interbase-DB nach dem "Datapump" unter der Rubrik "Tabellen" vor). Wenn ich nun diese Views auf der Interbase-DB mit dem SQL-Explorer von Hand anlegen (Syntax ist ein wenig anders als unter ORACLE - hat aber dann irgendwann funktioniert), dann werden die Views unter Rubrik "Ansichten" angelegt. Die durch Datapump erstellten gleichnamigen Tabellen müssen allerdings vorher gelöscht werden. Im "sql-Explorer" sieht soweit alles gut aus. Wenn ich auf die jeweiligen Views zugreife, werden auch die aktuellen Daten angezeigt.
Wenn ich nun über das Delphi-Programm zugreife (BDE-Änderungen etc. vorgenommen), erhalte ich eine Exception der Klasse EDBEngineError, Meldung: 'Allgemeiner SQL-Fehler arithmetic exception, numeric overflow, or string truncation Cannot transliterate character betwenn character sets'.
An den Programmsourcen habe ich keine Änderung vorgenommen. Lediglich bei "TDatabase" den entsprechenden "Alias" für die Interbase-DB eingebunden.
In der BDE benutze ich den Nativ-Treiber "INTRBASE" 4.0, als LANGDRIVER habe ich unter "System-INIT" 'ascii ANSI' vorbelegt.
Bei diesen Einstellung zeigt mir der "sql-Explorer" die Daten ohne Fehlermeldung an.
Ändere ich bei diesen Voreinstellungen nun den LANGDRIVER beim Native-Treiber "INTRBASE" (in der BDE unter Konfiguration) auf beispielsweise 'ascii ANSI' oder den "Alias" (bei der BDE unter Datenbanken) von leer auf 'ascii ANSI', so erhalte ich bereits mit dem "sql-Explorer" die o. a. Fehlermeldung.
Benutzt wird die BDE 5.01 (lt. Info zur BDE-Verwaltung). Die Versionsnummern belaufen sich unter den BDE-Versionshinweisen allerdings überwiegend auf 5.1.1.
Was könnte nun die Ursache sein und wo setze ich da an?
Vielen Dank!
Comment