問題タブ [db2]

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.

0 投票する
4 に答える
920 参照

shell - 配管時に Awk が DB2 セッションを切断しているように見える

KornShell (ksh) で次のコマンドを実行しようとしています。

私が達成しようとしているのは、特定のテーブルのインデックスのリストを、後で反復できる配列に配置することです。

問題は、上記のコマンドを実行すると、配列の内容が「SQL1024N」というエラー メッセージで始まることです (これは、データベース接続が存在しないことを示しています)。

awkただし、ステートメントの最後にあるを削除すると、次のようになります。

それは問題なく動作します(まあ、データを返す範囲で。明らかにawk、正しいデータをキャプチャしていません)。

がなぜawkこのような影響を与えているのか誰か知っていますか?

このデータを取得する方法が複数あることは理解していますが、なぜこれが起こっているのかがわかりません。

前もって感謝します。

0 投票する
6 に答える
889 参照

sql - あるデータベースから別のデータベースにテーブルをコピーする

テーブルの一部を同じサーバー上の別のデータベースにアーカイブしようとしています。ただし、INSERT INTO...SELECT...FROM はビルド時にエラー (SQLSTATE=42704) を返します。テーブルは 2 番目のデータベースに存在します。誰でもこれを手伝ってもらえますか?

0 投票する
2 に答える
308 参照

java - SP を使用してデータベース レコードを複製するための最良のアプローチ

他のテーブルの関連データを含むデータベース エントリのクローンを作成し、それに新しい ID を割り当てるコードを作成する必要があります。簡略化すると、IDのキーを持つMAINテーブルと、IDのFKを持つSUB1とMAINの各エントリの複数のレコードを持つサブテーブルがあります。
MAIN の特定の ID のデータを新しいレコードにコピーし、ID を新しい値に更新して、既存のエントリを時間内のスナップショットとして残し、新しいエントリを新しい進行中の作業にできるようにしたいと考えています。

私はストアド プロシージャを使用しようとしていますが、作業を実行するために他の SP を呼び出す高レベルの SP を持つことが可能/推奨されるかどうか疑問に思っていますか?

例えば

私は CopyNewSub1Records を次のように見ています

したがって、私の質問は、CopyNewMainRecord から CopyNewSub1Records への IN のように、newID の OUT を取得しても問題ありませんか?

私は現在、DB 管理者によって DB2 環境で SP を作成する権限が付与されるのを待っているので、これを試みるのではなく質問しています。

0 投票する
4 に答える
276 参照

sql - ローカル変数の内容を結果セット列に書き戻しますか?

ストアド プロシージャを使用して、結果セットから整数列の値をローカル変数にフェッチし、そこで操作してから結果セットの列に書き戻すことは可能ですか?

もしそうなら、構文はどのようになりますか?

0 投票する
2 に答える
245 参照

sql - DB2リレーショナルテーブル

データベース内の2つの異なるスキーマにまたがって相互に参照する2つのテーブルが存在するようにデータベースを作成することは可能ですか?

例を挙げて私の質問を明確にしたいと思います。

EMPLOYEE (empID, empName, deptId)表を検討してくださいDEPARTMENT (deptId, deptName)。に外部キー制約を課すことができますEMPLOYEE.deptId。この場合、これら2つのテーブルを2つの異なるスキーマにまたがって配置し、それでも制約を課すことができますか?

0 投票する
1 に答える
2188 参照

nhibernate - NHibernate - ID を DB2 ID にマッピングする

私はNHibernateに慣れていないので、ISeriesプロバイダーを介してDB2テーブルに接続しようとしています。テーブルには、ID として自動生成される BIGINT 主キーがあります。マッピング ファイルの id の generator プロパティにいくつかの値を試しましたが、成功しませんでした。テーブル定義は次のようになります (フィールド名が変更されています)。

マッピング ファイルは次のようになります。

最初に、ジェネレーター クラスを「ネイティブ」に設定しました。これは、ドキュメントによると、 DB2 の「ID」を選択します。「ネイティブ」または「ID」を使用すると、ジェネレーター クラスを他のさまざまな値に変更すると、「列 PKID で許可されていない Null 値」やその他のさまざまなエラーが発生します。

ドキュメントに欠けている小さなものがあると確信していますが、DB2 の GENERATED IDENTITY である主キーの次の値を NHibernate に取得させ、呼び出し時にそれを処理させる方法はありますか?保存()?NHibernate が次の値を取得するために使用できる select をどこかに書く必要がありますか?

前もって感謝します。

0 投票する
2 に答える
1315 参照

c - 32 ビット DB2 と 64 ビット DB2 に同時に接続する C / C++ プログラム

32 ビットと 64 ビットの両方の DB2 実装で同時に動作する *IX オペレーティング システムで C / C++ プログラムを正常に作成できますか?

正確な要件は、32 ビット DB2 データベースから読み取り、64 ビット DB2 データベースに書き込むことです。

0 投票する
11 に答える
107807 参照

db2 - DB2 でテーブルの定義を表示する

こんにちは、私は DB2 を学んでおり、テーブルを作成した後にテーブルの特性を確認する方法を知りたいです。

MySQL の EXPLAIN TABLE コマンドに似ています。

ありがとうございました。

0 投票する
3 に答える
3301 参照

stored-procedures - SQL と Java で DB2 ストアド プロシージャを記述することの長所と短所は何ですか?

DB2 の新しいバージョンでは、ストアド プロシージャを SQL で記述したり、Java (または他の言語) でプロシージャを作成したりして、データベースに追加し、SQL プロシージャと同様に呼び出すことができます。それぞれの方法の長所と短所を知りたいです。私が特に興味を持っているのは、これら 2 つのタイプのプロシージャーを比較することであり、プロシージャーと外部コードについて議論することではありません。これが私がこれまでに思いついたものです:

SQL:

  • 基本的な SQL 機能のパフォーマンスの向上

  • 単純なロジックの場合は冗長ではありません。つまり、SQL を直接実行できます。

  • 追加のコンパイル手順はありません - プロシージャを作成するだけです...

ジャワ:

  • より構造化されたフル機能のコード (クラス、オブジェクト、再利用、ライブラリ)

  • プログラマーとドキュメンテーションの両方の面で役立つ優れたリソース

他の考えはありますか?

0 投票する
3 に答える
4201 参照

hibernate - Hibernateでデータベースレベルでユーザーアクセスを制限する方法

アプリ

さまざまなユーザーが使用するWebアプリを実装する必要があります。各ユーザーは、さまざまなテーブルに対して異なる特権を持っています。

  • ユーザーAは、テーブルから「名前」と「アドレス」のフィールドを確認できます。Student
  • ユーザーBは、フィールド「名前」と「電話番号」を表示できますが、テーブルの「住所」は表示できません。Student
  • ユーザーCは、上記のすべてのフィールドを表示および変更できます

  • 特定のアクセスを制限するために、UIレベルで何かを用意します。たとえば、エントリを変更する権限を持たないユーザーの[編集]ボタンを非表示にします。ただし、データのセキュリティを確保するためだけに、より低いレベル(おそらくデータベースレベルで?)に何かを用意する必要があると思います。


    問題

    アプリにHibernate、JBoss、DB2、Strutsを使用しています。ユーザー/パスワード/ロールを使用してデータベースに対してユーザーを認証する、ある種のJBoss LoginModuleを使用する必要があると思います(ただし、間違っている可能性があります(?))。私はいくつかの調査を行い、次のオプションを考え出しましたが、どれも私の場合に当てはまらないようです。これは、マルチユーザーWebアプリで非常に一般的なデータアクセスの問題だと思います。誰かが私を正しい方向に向けてくれませんか?前もって感謝します!

    1. hibernate.cfg.xmlJACCイベントリスナーで「grant」タグを使用します。これにより、すべての休止状態エンティティに「挿入」「更新」「読み取り」権限を設定できます。ただし、より細かい制御が必要な場合はどうなりますか?オブジェクト全体ではなく、特定のフィールドにアクセス許可を設定する必要があります。http://www.hibernate.org/hib_docs/v3/reference/en-US/html/objectstate-decl-security.html

    2. 各ejbのgetter/setterメソッドの権限を制限します。これを正しく理解していれば、すべてのユーザープロファイルに対してすべてのBeanを手動で構成する必要がありますが、これは私には非現実的です。 EJBメソッドのアクセス許可

    3. DAOをコーディングして、ユーザー権限を確認します。ログインしたユーザーがアクションを実行できるかどうかを判断するために、特定のDAOメソッドが呼び出されるたびに巨大なアクセス許可テーブルをチェックする独自のユーティリティ関数をロールします。

    4. Hibernateで「インターセプター」と「イベント」を使用します。各クラスに特定の「onLoad」、「onSaveorUpdate」などのイベントとインターセプターを定義します。この場合、個々のフィールドに権限レベルを指定できますか?http://www.hibernate.org/hib_docs/v3/reference/en-US/html/objectstate-events.html

    間違った木に吠えているのかもしれません。上記のすべては労働集約的であり、あまりインテリジェントではないようです。上記のオプションはいずれも、実行時にユーザー権限をプログラムで変更する方法を提供しません。これは、管理者レベルのユーザーがこのアプリで別のユーザーにより多くの制御を与えたい場合に役立ちます。


    ここでデータアクセス制御を行うための良い方法は何ですか?