Home > トラブルシューティング > データベースのトラブルシューティング
MS-SQL データベース |
|
Q |
ドイツ語版のMSSQLサーバを搭載したMS Server 2000 と 2003 にMagic xpiをインストールした時に、date_format 環境変数を正しく設定していなかった場合どうしたらよいでしょうか? |
A |
magic.ini ファイルで 内部データベースの日付書式と合うようにdate_format 環境変数を手動で設定する必要があります。 |
|
|
Q |
データベースのリソースで検証で成功したにも関わらず、実行時にエラー「文字 ’-’ 付近で不正な構文エラーが発生しました」が発生するのはなぜですか。 |
A |
MSSQLではハイフン ’-’ はデータベース名として認められていません。この制限を解除するにはデータベース名を中括弧[ ]で囲んでください。 |
|
|
Q |
Blobデータの更新中に、更新、削除、動的およびUPSERT操作がMSSQL Serverデータベースの「エラー9805:1つ以上の必須パラメーターに値が指定されていません」で失敗するのはなぜですか? |
A |
このエラーが発生する理由の一つは、データスキーマがバイナリBlobデータを処理する方法にあります。データベースのレコードを修正する時、動的SQL文はPDFテキストのようなBlobデータを文字列として取り扱い、バイナリとして処理しません。 このエラーを解決するために、以下のように実行してください。
ASCIIChr (39)&RTrim (RepStr (<Blob Variable>,ASCIIChr (39),ASCIIChr (39)&ASCIIChr (39)))&ASCIIChr (39). 例えば、Blob変数がC.UserBlobの場合、次のようになります。 ASCIIChr (39)&RTrim (RepStr (C.UserBlob,ASCIIChr (39),ASCIIChr (39)&ASCIIChr (39)))&ASCIIChr (39).
UPDATE dbo.[Blob_Data] SET Blob=CONVERT(varbinary(max),<?C.UserBlob?>) WHERE dbo.[Blob_Data].Id=1
|
Oracle データベース |
|
Q |
"System Property oracle.net.tns_admin was empty" というエラーが発生するのは何故ですか? |
A |
内部データベースをOracleに変更しようとすると、このエラーが発生することがあります。 この問題を解決するには、GigaSpaces-xpa\bin\magicxpi-setenv.bat> ADDITIONAL_OPTIONS を oracle.net.tns_adminのjvm引数で更新してください。 これは、TNSNAMES.ORAファイルを含むフォルダです。 set ADDITIONAL_OPTIONS=%ADDITIONAL_OPTIONS% -Dcom.magicsoftware.ibolt.home=%MAGIC_XPI_HOME%\runtime -Doracle.net.tns_admin=$ORACLE_HOME/network/admin |
|
|
Q |
なぜ、ORA-01858データベースエラーのメッセージがMagic xpiモニタで発生するのでしょうか? |
A |
ORA-01858データベースエラーのメッセージは、数値を指定する箇所に数値以外の文字が指定されていることを意味しています。 このエラーは日付フィールドの書式と関係があり、無効な日付表示形式が設定された場合に発生します。 この問題を防止するには、正しい日付表示形式を入力することです。magic.iniの[MAGIC_LOGICAL_NAMES]セクションのdate_formatフィールドは、内部のデータベースの日付表示形式と同じにする必要があります。 |
|
|
Q |
OracleデータベースのSelect count(*)ステートメントは、N22の書式が返るのは何故ですか? |
A |
N22の書式(Magic xpiでは有効でありません)は、実際はOracleから来ます。これを防ぐには、ステートメントにキャストを追加してください。これは、値をMagic xpiによって処理することができる書式に変換します。 しかし、チェッカーによって無効な数値書式であることを通知します。 |
|
|
Q |
数値を使用すると、ORA-01722というエラーが表示されます。どのようにたら、解決することができますか? |
A |
ORA-01722エラーは、数値が間違ったフォーマットでデータベースに送られたことを示します。Magic xpiは、ドット(.)による小数点が設定された数値のみ使用できます。 以下のことをチェックししてください。
|
|
|
Q |
Oracleスクリプトを実行しようとすると、"ORA-65096: invalid common user or role name" エラーが発生します。 |
A |
Oracle12cのデータベース上でスクリプトを実行しようとすると、このエラーが発生するかもしれません。 この問題を解決するには、"Magic xpi の内部データベースを変更するには”のトピックのステップ#5の手順に従ってください。 |
MySQL データベース |
|
Q |
MySQLデータベースを使用する時に、不正な時刻値のエラーが発生します。 |
A |
時刻関数を使用する時に、MySQL 5.1.4データベースを使用していると、以下のエラーが発生するかもしれません。 - Error 9804: [MySQL][ODBC 5.1 Driver][mysqld-5.6.20]Incorrect time value: '14:39:23''14:39:2' for column 'time_1' at row 1 この問題を解決するには、MySQL 5.3.4以上をインストールしてください。 |
DB2/400 データベース |
|
Q |
DB2/400内部データベースを使用してプロジェクトを実行する時、GS-UIで次のエラーが発生します: 'mgmirror-gs [1] ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - Data truncation'? |
A |
非常に大きなXML BLOBを使用する時、このエラーが発生するかもしれません。この問題を解決するには、より大きなUSER_BLOBカラム(USERBLOB)を定義してください。 例えば:USERBLOB BLOB(10000000) |
ODBCデータベース |
|
Q |
データマッパーでODBC経由のSQL Serverを使用する間に、DBスキーマプロパティ値が正しく表示されません。 |
A |
Magic xpi スタジオを使用して SQL ServerのためにネイティブのMicrosoft ODBCドライバを使用するには、data_types.xmlファイルの情報をdata_types_MSSQLODBC.xmlファイルからに値に置き換える必要があります。 これらのファイルはどちらも、以下の配置されています。 <Magic xpiインストール>\Studio |
|
|
Q |
Postgreデータベースを使用する場合、ODBCドライバを使用したデータベース接続が作成されないのはなぜですか? |
A |
システムにインストールされているPostgre ODBCデータベースドライバのバージョンがMagic xpiのインストールと互換性がないため、データベース接続の作成に失敗します。この問題を解決するには、Postgre ODBCデータベースドライバの09.03.0400または10.00バージョンをインストールしてください。これらのバージョンはどちらも Magic xpi と互換性があります。 |
一般 |
|
Q |
プロジェクトをビルドすると下記のエラーが出力されます。
|
A |
データベースのリソース名が<ResourceName>の場合、環境変数に<ResouceName>_db, <ResourceName>_server, <ResourceName>_userのエントリがあるとエラーになります。 |
|
|
Q |
ストアドプロシージャに対して複数のリクエストを同時に実行すると、データマッパーステップがエラーで失敗するのはなぜですか? |
A |
このエラーが発生する理由の1つとして、使用可能な接続がないためフローが終了した可能性があげられます。この場合、データベーススキーマのデータベース接続制限を超えているかどうかを確認します。この制限は、Magic xpaの最大接続数プロパティによって制御され、Magicxpaスタジオから変更する必要があります。以下の手順で設定してください。
|
|
|
Q |
プロジェクトの実行中に接続が失われた場合、データベースの再接続を開始するにはどうすればよいですか? |
A |
フローでデータベースの再接続を開始するには、次の手順を実行します。:
この構成でデータベース接続が失われると、エラーフローが呼び出されます。 エラーフローでは、エラー変数がリセットされます。 データベース接続も再開および復元され、メインフローに戻ります。 これにより、接続が成功した状態でメインフローが再び実行されます。 |