問題タブ [sybase]

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 投票する
3 に答える
2654 参照

java - Sybase JDBC ドライバーが例外を「食べる」のはなぜですか?

公式の Sybase JDBC ドライバーを使用してデータベースに接続し、CallableStatement を作成してストアド プロシージャを呼び出し、パラメーターをそれにバインドし、.execute() を呼び出しています。

ただし、ストアド プロシージャが失敗しても、例外はスローされないことがわかりました。Wireshark を使用してデータベースへのトラフィックをスニッフィングし、戻ってくるエラー メッセージを観察することで、障害が伝播されていることを確認できます。

最後に、.execute() の代わりに .executeUpdate() を使用すると例外が発生することがわかりましたがまだ 2 つの質問が残っています。

  1. .execute() と .executeUpdate() の動作が異なるのはなぜですか? インターフェイスの SUN ドキュメントから、(ほぼ) 同じことを行う必要があるようです...
  2. ストアド プロシージャを呼び出すときに .execute() を .executeUpdate() に置き換えることは常に適切ですか? ストアド プロシージャは、.executeUpdate() で呼び出すことができる特定の要件に準拠する必要がありますか? (たとえば、最後のステップとして update/delete/insert ステートメントが必要ですか?)

更新: jTDS を試してみましたが、正しく動作します (.execute() と .executeUpdate() の両方の場合で SQLException をスローします)。ただし、私には制御できない制約があるため、ドライバーを切り替えることは実際には不可能です。

また、このストアド プロシージャによって返される結果には興味がありません。挿入/更新タイプのプロシージャです。失敗したかどうかを確認するためだけに挿入されます(そして、キャッチ/ログを記録できます)。私が試したもう1つのことは、.execute()の後に接続から警告を取得することですが、何も含まれていませんでした。

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

sql - SQL トリガーの質問: これはなぜ構文エラーになるのですか?

Sybase 用のトリガーを作成したいのですが、エラーが表示されます。

私がやりたいことは、[student]テーブルで削除操作が行われたときに、[アカウント] に学生に関連するレコードがあるかどうかを確認し、ある場合は例外を発生させることです。

Sybase によるサポートが不足しているようです。彼らの公式は訪問する人々ではないようです。

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

tsql - テーブル内の N 個の最も古いエントリを削除する

N 個の最も古いエントリを削除する方法。私はSybaseに限定されています。数値 X を受け入れ、X 個の最新エントリのみをテーブルに残すストアド プロシージャを作成する必要があります。

例: ID が自動的にインクリメントされるとします。小さいほど、このエントリは古いです。

このように実行される手順が必要です。

そして結果は

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

java - SybaseIQの結果セットの最適な更新

次のことを行うSybaseIQデータベースv14のテーブルを更新するコードを書き直そうとしています。

  1. テーブル内のすべてのレコードを選択し、いくつかのデータをファイルに抽出します
  2. テーブル内の各レコードの抽出されたファイルフラグを更新します

現在、レコードがファイルに書き込まれると、その抽出フラグが更新されます。現在、テーブルには40 000レコードがあり、プロセスは40GBのデータベース一時スペースを使用します。問題のテーブルの各レコードには60個のフィールドが含まれ、最大で120文字の列が含まれます。

データベースサーバーは、テーブル内の各レコードのテーブル用に新しいバージョンのデータを作成していますか?時間の経過とともに、使用される40GBのアカウントを使用してデータベースサーバー上に一時データの雪だるま式を作成しますか?データを処理して最初にデータを抽出し、それをファイルに書き込んでから、一括更新を実行するのに最適な方法でしょうか。Sybase IQは一般的にアリーナで使用されていると理解しているので、データベースは挿入、削除、選択用に最適化されますが、更新ではパフォーマンスが低下しますか?sybaseデータベースのIQサーバーは、HP-UXとWindowsServer2003で同じように動作しますか。

0 投票する
7 に答える
203 参照

database - 複数のデータベース間での重複キーの防止

私は、古いものとは別のデータベース (スキーマの大幅な変更) を使用するソフトウェアの新しいリリースが出てくる状況にいます。新しいシステムと古いシステムの両方が稼働する期間がかなり長くなり、2 つのデータベース間で一意の ID が生成されるようにする必要があります (データベース A に行は必要ありません)。データベースの行と同じ ID を持つ B)。データベースは Sybase です。

私が思いついた可能な解決策:

  1. 非常に大きな数値をサポートするデータ型を使用し、オーバーフローしないことを期待して、それぞれに範囲を割り当てます。
  2. 一方のデータベースには負の値を使用し、もう一方のデータベースには正の値を使用します。
  3. データベースを識別する追加の列を追加し、それと現在の ID の組み合わせを使用してキーとして機能します。
  4. 泣く。

他に何ができますか?2 つのデータベースを連携させるための、より洗練されたソリューションはありますか? 問題があれば、2 つのデータベースは同じサーバー上にあると思います。

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

sybase - SQSHの「テーブルの表示」に相当するものは何ですか

sqshにどのテーブルが使用可能かを教えてもらうにはどうすればよいですか?

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

tsql - Sybase でサーバー オプションの値を照会するにはどうすればよいですか?

たとえば、quoted_identifierサーバー オプションの現在の値を知りたい場合、この情報を取得できるクエリはありますか?

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

vbscript - Powerdesigner で VBScript を使用するには?

Powerdesign で VBscript を作成して、powerdesigner の次の名前の名前を変更/変更したい - 概念モデルまたは物理モデル

代替/一意のキー名:

UQ {table_name} {tablecolumnname} /////// Example = UQ_Account_AccountNumber

関係名:

FK_{table_name}_{reference_table_name}_{reference_column_name} //////= FK_Account_AccountPhone_HomePhoneID

問題は、「table_column_name」と「reference_column_name」を取得するにはどうすればよいですか?

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

tsql - Sybaseで文字列を含むすべてのdbオブジェクトを検索する方法

DB内でいくつかの文字列を見つける必要がある場合がありますが、通常はホスト名またはIPアドレスです。

アクセスできるすべてのSybasedbオブジェクト(または少なくともすべてのテーブル)で文字列を検索するスクリプトはありますか。

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

database - AIX 上の isql から呼び出された Sybase ストアド プロシージャ: リターン コードの処理方法

isql を使用して Sybase でストアド プロシージャを実行する AIX バッチ ジョブがあります。ストアド プロシージャは、特定の条件下でエラー コードを返しています。isql がその戻りコードを AIX スクリプトに渡すようにしたいと考えています。

isql 内でストアド プロシージャのリターン コードをキャプチャできますか、それとも何らかの出力ファイルを作成し、AIX スクリプトでそれをチェックする必要がありますか?

isql コマンドは次のようになります。Korn シェル スクリプト内で実行されます。