0 / 0
資料の 英語版 に戻る
common core servicesのトラブルシューティング
最終更新: 2024年11月11日
common core servicesのトラブルシューティング

これらの解決策を使用して、接続で遭遇する可能性のある問題を解決してください。

IBM Db2 for z/OS:Db2 for z/OSサーバーに接続しようとすると、スキーマリストの取得でエラーが発生する

Db2 for z/OSサーバーへの接続をテストしているときに、接続がスキーマ・リストを取得できない場合、次のようなエラーが表示されることがある:

CDICC7002E: The assets request failed: CDICO2064E: The metadata for the column TABLE_SCHEM could not
 be obtained: Sql error: [jcc][10150] [10300][4.28.11] Invalid parameter: Unknown column name
 TABLE_SCHEM. ERRORCODE=-4460, SQLSTATE=null

問題の解決方法

Db2 for z/OSサーバーで、DESCSTATサブシステム・パラメーターを 'No に設定します。 詳細はDESCRIBE FOR STATICフィールド(DESCSTATサブシステム・パラメータ)を参照のこと。

Informix接続のデータをロードするために、非推奨の機能から生成されたコードを実行できない

"DatabaseError:実行に失敗しました。 Informixデータベースから非推奨の機能を使用してデータをロードするために生成されたコードを実行しているときに、大文字の名前を持つテーブルにクエリを実行しようとすると、"unable to rollback "と表示されました。

原因

Informixデータベースは大文字と小文字を区別する識別子が設定されているため、生成されたコードを更新する必要があります。

問題の解決方法

可能であれば、Flight serviceを使用して生成されるコードを使用して、Informix接続からデータをロードするように変更してください。 非推奨の機能によって生成されたコードを使い続けたい場合は、生成されたコードを以下のように編集する必要がある:

  • Pythonの場合、接続に接続プロパティ''DELIMIDENT=Y'を追加し、大文字の識別子を二重引用符("")で囲みます。以下の行を置き換えてください:

    Informix_connection = jaydebeapi.connect('com.informix.jdbc.IfxDriver',
    '{}://{}:{}/{}:user={};password={};'.format('jdbc:informix-sqli',
    Informix_metadata['host'],
    Informix_metadata['port'],
    Informix_metadata['database'],
    Informix_metadata['username'],
    Informix_metadata['password']),
    [Informix_metadata['username'],
    Informix_metadata['password']])
    
    query = 'SELECT * FROM informix.FVT_EMPLOYEE'
    

    対象:

    Informix_connection = jaydebeapi.connect('com.informix.jdbc.IfxDriver',
    '{}://{}:{}/{}:user={};password={};DELIMIDENT=Y;'.format('jdbc:informix-sqli',
    Informix_metadata['host'],
    Informix_metadata['port'],
    Informix_metadata['database'],
    Informix_metadata['username'],
    Informix_metadata['password']),
    [Informix_metadata['username'],
    Informix_metadata['password']])
    
    query = 'SELECT * FROM informix."FVT_EMPLOYEE"'
    
  • Spark withPythonの場合は、置き換えてください:

    data_df_0 = sparkSession.read.format('jdbc') \
      .option('url', 'jdbc:informix-sqli://{}:{}/{}'.format(Informix_metadata['host'],Informix_metadata['port'],Informix_metadata['database'])) \
      .option('dbtable', 'informix.FVT_EMPLOYEE') \
      .option('user', Informix_metadata['username']) \
      .option('password', Informix_metadata['password']).load()
    data_df_0.show(5)
    

    対象:

    data_df_0 = sparkSession.read.format('jdbc') \
      .option('url', 'jdbc:informix-sqli://{}:{}/{}'.format(Informix_metadata['host'],Informix_metadata['port'],Informix_metadata['database'])) \
      .option('dbtable', 'informix."FVT_EMPLOYEE"') \
      .option('DELIMIDENT', 'Y') \
      .option('user', Informix_metadata['username']) \
      .option('password', Informix_metadata['password']).load()
    data_df_0.show(5)
    
  • Rの場合、接続に接続プロパティ''DELIMIDENT=Y'を追加し、すべての大文字の名前を二重引用符("")で囲む。以下の行を置き換える:

    paste("jdbc:informix-sqli://", Informix_credentials[][["host"]], ":", Informix_credentials[][["port"]],
    "/", Informix_credentials[][["database"]],
    ":user=", Informix_credentials[][["username"]],
    ";password=", Informix_credentials[][["password"]], ";", sep=""),
    ...
    query <- "SELECT * FROM myschema.MY_TABLE"
    

    対象:

    paste("jdbc:informix-sqli://", Informix_credentials[][["host"]], ":", Informix_credentials[][["port"]],
    "/", Informix_credentials[][["database"]],
    ":user=", Informix_credentials[][["username"]],
    ";password=", Informix_credentials[][["password"]],";DELIMIDENT=Y", ";", sep=""),
    ...
    query <- "SELECT * FROM myschema.\"MY_TABLE\""
    

親トピック Cloud Pak for Dataのトラブルシューティング

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細