0

HTTP メッセージによってオーケストレーションがトリガーされ、次の SQL クエリが実行されます (セキュリティ上の理由から、フィールドとテーブルの名前は変更されています)。

SELECT Distinct '900' AS 'Type', 
    (DeTeamPATH.PKEY) AS 'Personal_ID', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.TENTLOGON, 121), ' ') 
    AS 'TLG', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.CIV_NAMES01, 121), ' ') 
    AS 'First name', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.CIV_NAMES02, 121), ' ') 
    AS 'Middle name', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.SURNAME, 121), ' ') 
    AS 'Surname', 
    ISNULL(CONVERT(nVarChar(30), UsTeam.STREET01, 121), ' ') 
    AS 'Corporation', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.GENDER, 121), ' ') 
    AS 'Gender', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.LOCAL_ADDRESS01 + ', ' 
    + DeTeam.LOCAL_ADDRESS03, 121), ' ') 
    AS 'Street Address',
    ISNULL(CONVERT(nVarChar(30), DeTeam.LOCAL_ADDRESS04, 121), ' ') 
    AS 'Suburb', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.COUNTRY, 121), ' ') 
    AS 'Country', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.LOCAL_POST, 121), ' ') 
    AS 'Postcode', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.BIRTHDATE, 121), ' ') 
    AS 'Date of Birth', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.EMAIL, 121), ' ') 
    AS 'Email address', 
    ISNULL(CONVERT(nVarChar(30), DeTeam.DOME_PHONE, 121), ' ') 
    AS 'Primary phone', 
    DeTeam.ICEPHONE AS 'Phone_2', 
    ISNULL(CONVERT(nVarChar(30), DeTeamPATH.Person_START, 121), ' ') 
    AS 'Session_start', 
    ISNULL(CONVERT(nVarChar(30), DeTeamPATH.Person_FINISH, 121), ' ') 
    AS 'Session_expiry'
FROM DeTeam

INNER JOIN DeTeamPATH 
    ON DeTeamPATH.PKEY = DeTeam.DeTeamKEY
INNER JOIN Fort 
    ON DeTeamPATH.ROUTEID = Fort.ROUTEID OR DeTeamPATH.STREAM=Fort.ROUTEID
INNER JOIN US_DE_SEM 
    ON US_DE_SEM.US_DE_SEMER = DeTeamPATH.SEM_START 
    OR US_DE_SEM.US_DE_SEMER = DeTeamPATH.SEM_FINISH
INNER JOIN UsTeam 
    ON UsTeam.TeamUS = DeTeamPATH.TeamUS

where DeTeam.TENTLOGON != ' ' and DeTeamPATH.PKEY != ' ' and 
      DeTeam.CIV_NAMES01 != ' ' and DeTeam.CIV_NAMES02 != ' ' and 
      DeTeam.SURNAME != ' ' and UsTeam.STREET01 != ' ' and 
      DeTeam.GENDER != ' ' and DeTeam.COUNTRY != ' ' and 
      DeTeam.TENTLOGON != ' ' and DeTeam.LOCAL_POST != ' ' and 
      DeTeam.BIRTHDATE != ' ' and DeTeam.EMAIL != ' ' and 
      DeTeam.DOME_PHONE != ' ' and DeTeamPATH.Person_START != ' ';

次に、データをフラット ファイル (テキスト ファイル) に書き込み、FTP サーバーのディレクトリに配置します。ただし、テキスト ファイルには 1 行しかありません。これは、SQL SELECT クエリからの 1 つの結果です。サーバー上で直接クエリを実行すると、約 6 件の結果が得られます。ファイルに 6 つの結果すべてを含めたいのですが、近い将来、その SELECT ステートメントからさらに多くの結果が得られると予想されるため、すべての結果を取得したいので、クエリが取得する結果の数に制限を設定したくありません。 .

誰かが私を助けてくれるか、私が間違っていることを教えてもらえますか? さらに詳細が必要な場合はお知らせください。この質問を編集してそれらを含めます。

4

1 に答える 1

0

私は自分の質問に対する答えを持っています!

Write Flat Fileアクティビティで、[Map Inputs] タブの [From Orchestration] セクションの行は繰り返されていましたが、[ To Activity ] セクションの行はそうではありませんでした。したがって、これを修正するには、Flat File Schemaを編集し、データのプロパティを変更して、オカレンスが Unbounded としてマークされるようにする必要がありました。(以前は Range が 1 だったので、テキスト ファイルに入れられるのは 1 行だけでした。) また、Write Flat Fileアクティビティで以前のすべての入力マッピングを削除し、 From Orchestrationの行を To アクティビティのデータにマップする必要がありました。 .

そう言えば、将来誰かが同じ問題を抱えた場合に備えて、この回答をここに掲載しました。WebSphere Cast Iron を使用した経験のある人をインターネットで見つけるのは難しいことがわかったので、これが誰かの役に立てば幸いです。

@DaleM コメントと助けてくれてありがとう!

于 2013-01-21T02:27:50.387 に答える