2016-07-20 5 views
1

NexusDBでCREATE TABLEステートメントをインポートしようとしています。
テーブル名は、いくつかのドイツ語のウムラウトが含まれているので、いくつかのフィールド名を行うが、私は私の文の中で、いくつかの無効な文字(明らかにウムラウトが...)があったというエラーが表示されます。ドイツ語のウムラウトでNexusDBでテーブルを作成していますか?

私の質問は今ある:誰かが私の問題を解決するためのソリューションまたは任意のアイデアを与えることができますか?我々のアプリケーションは、すべてのお客様が現在使用しているテーブル名を固定しているので>oe - >aeö -

それだけでäのような等価な用語にウムラウトを変更するので、簡単ではありません。

答えて

0

それは通常、SQL標準で許可されているもの以外の文字を使用することをお勧めではありません。これは、NexusDBだけでなく、他の多くのデータベースにもあなたを噛み付かせます。他の環境にも同様の標準的な制限がある可能性があるため、ODBCなどを介してデータにアクセスするときに問題に遭遇する可能性が高いことに特に注意してください。マイ強い勧告は、テーブルのSQL命名標準、データベースが使用されているどんなに以外の文字の使用を避けることであろう。

しかし...すべてのことを言った、(それは完全なソースが付属しています)NexusDBは、プログラマのための最も柔軟なデータベースシステムの一つであることを考えると、解決策がすでに存在しています。 "extendedliterals"定義をデータベースサーバープロジェクトに追加すると、より大きな文字配列が有効とみなされます。正確な変更が可能な場合は、nxllConst.pasユニットのnxcValidIdentChars定数を参照してください。必要に応じて定数を変更することもできます。

+0

ありがとうございました!これはすでに私の顧客に語ったことですが、私が以前言ったように、テーブルはすでに同じ名前の "ソリューション"のいろいろな顧客dbsに存在しています。今度はコード内のテーブル名をマッピングしようとします。 – MCelik

関連する問題