問題タブ [db2-400]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - AS400 上の DB2 データベースを Windows または Linux にダンプできますか?
DB2 を使用してから何年も経ちますが、JDBC を介して DB2 に読み書きするレガシー アプリケーションを継承し、AS400 上で実行しています。プラットフォームやバージョンの詳細はまだわかりませんが、DB のコピーを Windows または Linux バージョンの DB2 に移行することは一般的に可能でしょうか? アプリケーションは非常に遅いパイプを介してデータにアクセスするため、ローカル開発用に DB のコピーをカットできるようにしたいと考えています。使用される JDBC ドライバーは次のとおりです。
それが役に立ったら...
任意/すべての返信をお待ちしております!
更新: DB2 のバージョンが 7.1 で、プラットフォームが iSeries であることを知りました (プラットフォームに関する追加の詳細を尋ねる必要がありますか?)
~~乾杯~~
sql - as400 で複雑なクエリをプログラムで実行するにはどうすればよいですか?
私はas400での作業が初めてで、4つのテーブルを結合するクエリがあります。クエリ自体は問題なく、STRSQL で実行され、結果が表示されます。
私が苦労しているのは、クエリをプログラムで実行できるようにすることです (最終的には、スケジュールされた CL スクリプトから実行されます)。
RUNQRYで実行するクエリを含む物理ファイルを作成しようとしましたが、実際の結果セットではなく、クエリ自体を表示するだけです。
私が間違っていることを誰かが知っていますか?
アップデート
方向性とリソースを提供してくれた皆さんに感謝します。彼らのおかげで、目標を達成することができました。それが誰かを助ける場合、これは私がやったことです(これはすべて独自のライブラリALLOCATEで行われました):
ソース物理ファイル (CRTSRCPF を使用): QSQLSRC を作成し、SQL ステートメントを含む、タイプが TXT の SQLLEAGSEA という名前のメンバーを作成しました。
別のソース物理ファイル QCLSRC を作成し、タイプが CLP の POPLEAGSEA という名前のメンバーを作成しました。このメンバーは、現行ライブラリーを ALLOCATE に変更し、RUNSQLSTM を使用して照会を実行します (詳細は以下を参照)。実際のコマンドは次のとおりです。
RUNSQLSTM SRCFILE(QSQLSRC) SRCMBR(SQLLEAGSEA) COMMIT(*NONE) NAMING(*SYS)
次のコマンドを実行して、(ADDJOBSCDE を使用して) スケジュールされたジョブに CLP を追加しました。
CALL PGM(ALLOCATE/POPLEAGSEA)
RUNSQLSTM に関しては、調査の結果、SELECT ステートメントをサポートしていないため、この関数を使用できないことがわかりました。私が質問で示していなかったのは、結果に対して何をする必要があるかということでした.結果のデータを別のテーブルに挿入するつもりでした.より速く)。事実上、私は SELECT を実行するつもりはありませんでした。私の最終結果は、実際には INSERT です。したがって、私の SQL ステートメント (SQLLEAGSEA 内) は次のように始まります。
ALLOCATE/LEAGSEAS に挿入
選択...何とか何とか何とか...
私の調査によると、RUNSQLSTM は結果を処理するメカニズムがないため、SELECT をサポートしていません。赤ちゃんの一歩を踏み出すのをやめて、同じステートメントで SELECT と INSERT を実行する必要があることに気付いたとき、私の主な問題は解決しました。
みんなありがとう!
nhibernate - Fluent NHibernate のブール フィールドを DB2 iSeries にマップする方法
次のコードがあります。
私のPOCOには、次のプロパティがあります。
私のマッピングでは、
DB2 には、ビット フィールドはなく、'0' または '1' を持つ char(1) だけです。
私が理解しているように、props.Add("query.substitutions","true=1;false=0"); これらの 0 と 1 をブール値の POCO オブジェクトにマップする必要がありますが、機能していないようです。
これを使用するようにフィールドのマッピングに何かを追加する必要がありますか?
db2 - 公開されている DB2 データベース
次のデータベースの公開バージョンはありますか? データベース: DB2 for i5/OS バージョン: 07.01.0000 OS/400 V7R1M0
その特定のデータベースをセットアップする方法、または公開されている (接続するためだけに) 方法を探しています。
ありがとうございました。
sql - syscat.tabauth テーブルから GRANT SQL を動的に生成する
データベース (DB2 9.7 上) A があり、テーブル X、Y、Z...n があるとします。データベース B に同じテーブル X、Y、Z...n を作成しました。同じ GRANT を提供したいデータベースAの場合と同様に、データベースBのユーザーに。したがって、SYSCAT.TABAUTHに基づいて、GRANT SQLを生成しようとしています。私はそれに対して次のクエリを書きました:
ただし、私が直面している問題は、最後に「、」を追加することです。ユーザーが挿入認証のみを持っていると仮定すると、上記のクエリは GRANT sql を次のように生成します。
どうすればこれを解決できますか? 助けてください..
db2 - デフォルトのパスワードを変更する方法
PCI スキャンで「IBM DB2 Universal Database Known Default Password Vulnerability」アラートが表示されます。これを修正するには、DB2 のデフォルト パスワードを変更する必要があります。
DBAの誰かがこれについて私たちを助けることができますか?
詳細については、http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2001-0051を参照してください。
db2 - DB2 v6r1m0 日時サポート
iSeries は DateTime 類似タイプをサポートしていますか? もしそうなら、それは公開された IBM ドキュメントのどこに具体的に記載されていますか。.Net からこれを使用するので、既知の問題がある場合は知っておくとよいでしょう。
- DB2 iSeries
- V6R1M0
DateTime
または同様のデータ型。通常、日付部分のみに関心があります
こんな質問をする羽目になったとは本当に信じられませんが、信頼できる回答が必要です。私が見つけることができるリンクは、主にv5を参照しています。アプリ開発に大混乱を引き起こしている dba による興味深い声明の 1 つに対抗するには、外部からの確固たる証拠が必要です。
php - iSeries 上の IBM DB2 への PDO ODBC により、Ubuntu サーバーで segfault が発生する
PDO ODBC を使用して、Unix システム (Ubuntu) から iSeries 上の DB2 に接続しようとしています。これまでのところ、すべて問題ありません。結果配列内で NULL 値を取得すると、セグメンテーション違反が発生します。
セグメンテーション違反を再現するためのテスト コードを次に示します。
最後の行はセグメンテーション違反を引き起こします!
修正のために行ったこと:
- 次の PDO 属性を追加しても効果はありません。
- PDO::ATTR_ORACLE_NULLS => PDO::NULL_TO_STRING
- unixodbc.log を有効にして確認しました。クエリが正常に実行されました:
- 終了:[SQL_SUCCESS]
- IFNULL を SQL ステートメントに挿入します。これで問題は解決しますが、生産的な環境では実用的な解決策ではないと私たちは考えています。
現時点では: アイデアがありません。上記のコードは、Windows XP および Windows 7 の XAMPP から正常に動作し、エラーは発生しません。PDO::ATTR_ORACLE_NULLS を使用する場合は関係ありません。可能なオプションは両方とも正常に機能し、結果の配列は期待どおりに表示されます
この問題の解決策はありますか? 助けとアイデアをありがとう。
追加情報: Ubuntu 12.04 LTS 64bit を使用しています。libc 64bit のエラーが原因でこのエラーが発生する可能性はありますか? スクリプトが「どこかで」中止されたようです。
sql - 複数テーブルのSQL結合
ローンを持っているが、dda がなく、actype L の場合を除き、関連する actype がない custid を表示するには、どうすれば選択できますか? 共同関連 (cfrela = J) であっても、dda 関係のないレコードを探しています。以下のように、A123 と B128 は資格がありますが、関連する A123 D actype は、DDA アカウントとの共同関係のために資格を失います。L=ローン、D=DDA、S=貯蓄
entity-framework-4 - iSeries テーブルの更新時の DB2 .NET データ プロバイダー エラー
奇妙な問題があります。AS400 テーブルの更新中に、次のエラーが発生します
エラー [55019] [IBM][AS] SQL7008N REXX 変数 '< テーブル名 >' に一貫性のないデータが含まれています。
同じコードが MSSQL 2008 でも完全に機能しています
インターネットで検索したところ、Non-journaled
AS400 でテーブルを更新するとこの問題が発生することがわかりました。
journaling
そのテーブルの を有効にする必要があります。AS400 サーバーにアクセスできないため、これでは解決できません。
インターネットで言及されている回避策は、NOT NULL
クエリに句を追加することです。INSERT,UPDATE, DELETE
これは、同じクエリを使用する代わりにクエリを直接実行していないため、私の場合は不可能ですDBContext
。
別の回避策は、に設定isolationlevel/commitmode
することNOCOMMIT or 32
です。Web構成で両方を設定しようとしましたが、エラーSystem.ArgumentException: Invalid argument
と例外を取得できませんでしたEntity Exception: The underlying provider failed on ConnectionString.
だから質問は簡単ですそれを行う方法は??