一連のファイルをクエリしようとしています。15 のうち、クエリを実行する必要があるのは 3 つです。メッセージ 7314、レベル 16、状態 1、行 1 リンク サーバー "サーバー名" の OLE DB プロバイダー "IBMDASQL" には、テーブル "system. lib.file". テーブルが存在しないか、現在のユーザーがそのテーブルに対する権限を持っていません。
私は SQL を使用しており、IBMDASQL ドライバーを使用してリンク サーバーを作成しました。
私が言ったように、15 個のファイルのうち 3 個のファイルだけがこの問題を引き起こしています。
ファイルに対して wrkobj を実行すると、パブリックにすべてのアクセス許可があることがわかり、念のため特定のユーザー アカウントを追加しました。
基本的な ODBC と Microsoft クエリを使用して接続すると、リストにファイルが表示されません。iSeries に直接ログインすると、ファイルを表示して操作できます。.
現在、代替ファイル名を使用しています。しかし、挿入エラーが発生します。尋ねられたように、ここにコードがあり、正確なエラーの下にあります。
INSERT INTO [PARKWAY-TRAIN].S60017.ORDERF912.NC_NURS_ORD_REF
(RECORD_ID, NURSING_ORDER_CD, ORDER_DESCRIPTION, LONG_DESCRIPTION, ORDER_TYPE, FREQUENCY_CD, FREQ_PM_MAINT, NOTE_REQUIRED_STS, NOTE_TEMPLATE, TPL_STATUS, FORM_ID, PARAMETER_ID, COSIG_REQ)
SELECT STND.RECORD_ID, STND.NURSING_ORDER_CD, STND.ORDER_DESCRIPTION, STND.LONG_DESCRIPTION, STND.ORDER_TYPE, STND.FREQUENCY_CD, STND.FREQ_PM_MAINT, STND.NOTE_REQUIRED_STS, STND.NOTE_TEMPLATE, STND.TPL_STATUS, STND.FORM_ID, STND.PARAMETER_ID, STND.COSIG_REQ
FROM [MODEL2].TNICLN2.ORDERF143.NC_NURS_ORD_REF STND
WHERE STND.RECORD_ID <> 'D' AND NOT EXISTS (SELECT HOSP.NURSING_ORDER_CD FROM [PARKWAY-TRAIN].S60017.ORDERF912.NC_NURS_ORD_REF HOSP WHERE HOSP.NURSING_ORDER_CD = STND.NURSING_ORDER_CD)
エラー メッセージ: リンク サーバー "PARKWAY-TRAIN" の OLE DB プロバイダー "IBMDASQL" がメッセージ "SQL0104: トークン . が無効でした。 有効なトークン: . 原因 . . . . : トークン .. トークンで構文エラーが検出されました. は有効なトークンではありません. 有効なトークンの部分的なリストは です. このリストは、ステートメントがトークンまで正しいことを前提としています. エラーはステートメントの前にある可能性がありますが、ステートメントの構文はこれまで有効であるように見えます. point. リカバリ . . . : 次のうち 1 つ以上を実行し、要求を再試行してください: -- トークンの領域にある SQL ステートメントを確認してください.. ステートメントを修正してください. エラーは、コンマまたは引用符が欠落している可能性があります。単語のつづりが間違っているか、句の順序に関連している可能性があります。 -- エラー トークンが の場合、有効な句で終わっていないため、SQL ステートメントを修正してください。". メッセージ 7343、レベル 16、状態 2、行 1 リンク サーバー "PARKWAY-TRAIN" の OLE DB プロバイダー "IBMDASQL" could not INSERT INTO table "[PARKWAY -TRAIN].[S60017].[ORDERF912].[NC_NURS_ORD_REF]".
コードの Select 部分だけを実行すると、正確には 503 行が返されます。コードの挿入部分をスローした場合にのみ失敗します。
IBM は、トークンを修正するように言います。ただし、どのトークンを修正するのが間違っているかについての手がかりはありません。