2016-07-28 65 views
2

私はIBM環境、特にAS400マシンとDB2データベースで作業しています。
私の次のタスクは、PFとLFのすべての可能なファイルをSQLに変換しています(たとえば、CREATE TABLE ...とCREATE VIEW ...)。AS400ファイル - PFとLFをSQLに変換

私はそれができない場合がありますか?
私は、複数のレコード形式のファイルの場合、それは本当ですか?

+0

FWIW仕事このCruikshankingを呼び出す> 1.

Looky here最大メンバーでoutfileを検索DDSをSQLに変換すると、change_のために_changeになります。特定の目的のための変更の導入は、変更を導入しなかったために問題を経験する可能性がより高い。このような盲目的な変化のメリットについて野生の主張をする人もいるが、そのような石油販売員とは違って、唯一の経験からのばかだと、愚か者の方がよく知っている人がいる。 – CRPence

答えて

8

PC上のSystem i Navigatorを使用して、サーバーに接続し、データベースとスキーマをドリルダウンします。テーブルまたはビューのいずれかをクリックして、そのライブラリ内のPFまたはLFをリストします(おそらくすべて)。次に、選択項目を右クリックし、「Generate SQL」を選択します。私は 'SQLスクリプトを実行'に生成することをお勧めします。

結果は、選択したすべてのオブジェクトのCREATE TABLE文またはCREATE VIEW文を含むSQLスクリプトになります。最も関連性の高いLABELステートメントも列属性に含まれます。スクリプトをPC上の.SQLファイルまたはネットワーク共有に保存することができます。私は通常、スクリプトをコピーするのではなくコピーして貼り付けますが、行末(CRとLF)があなたのケースでどのように生成されるかを理解するために試してみたいです。

さまざまなオプションを確認してください(場合によってはテストしてください)。あなたの最終的な目的に合った方が良いかもしれません。

マルチフォーマットのLFについては、SQLが完全に利用可能になって以来、私が使用しているどのシステムでも使用されていないと思います。優れたSQLはないので、自動化されたメソッドはありません。多分誰かがあいまいな可能性を知っているかもしれません。

質問にSystem/36環境が含まれている場合は、質問を編集してください。数多くの追加コメントが必要な場合があります。

+0

恐ろしい!ちなみにSystem/36はありません! System NavigatorはQSQGNDDLコマンドを使用してSQL文を作成しますか? – LppEdd

+1

@LppEddはい。 –

+2

@ LppEdd、DDSからSQL DDLへの移行は十分に文書化されています。 「IBM iアプリケーションのデータベースからユーザー・インターフェースまでの現代化」(https://www.redbooks.ibm.com/abstracts/sg248185.html?Open)の第9章を参照してください。 基本的にこの古いレッドブックの内容[IBM eServer iSeriesアプリケーションデータアクセスの近代化 - ロードマップの基礎](https://www.redbooks.ibm.com/abstracts/sg246393.html?Open) – Charles

3

はい、ファイルを「SQLに変換できません」という場合があります。
マルチフォーマット論理はそのようなケースの1つです。 説明されたプログラムは別のものです。 APIがDDLを生成できない場合があります。これは、IBM iを他のものに置き換えているかのように聞こえます。 DB2 for iはDB2 LUWとは少し異なる言い方であり、MS SQL ServerやMySQLとはかなり異なっていることに注意してください。必要に応じてデータが確実に届くようにするためには、かなりのテストが必要になります。

1

はい1つのケースは、ファイルに複数のメンバーがある場合です。 maxメンバーが1より大きいpfは問題を引き起こします。 dspfdコマンドを使用すると、複数のメンバーを持つすべてのPFのリストを作成できます。

dspfd file(*all/*allusr) type(*mbr) output(*outfile) outfile(mylib/myfile) 

からそのような変更を行うことから、具体的な既知の値が存在しない場合より多くの情報のために、私たちは私が

+0

マルチメンバーのPFはほぼ直接SQLテーブルに変換することが可能ですが、メンバーデータを識別する1つまたは2つの列を追加するだけで、多少のプログラミングの変更が必要になる場合があります。また、十分に資金を調達されたサイトの場合、DB2 Multisystemはメンバーをパーティションに変換する可能性があります。 – user2338816

+0

@ user2338816絶対にあなたはGIGOシステムを保持しているキーを変更することができます。しかし、V7.2ではDDL表への移植は人力の無駄です。 http://powerwire.eu/exclusive-ibm-i-7-2-delivers-17x-performance-gain-with-zero-change – danny117

+0

真であり、SQEが進化するにつれて、依然としてQuery/400またはOPNQRYF 、等は、救済を参照してください。しかし、どのようにこの質問に関連するか分からない。 DDLへの変換は、うまくいけば退屈な2つの領域をはるかに上回る利点をもたらします。 – user2338816

関連する問題