問題タブ [embedded-sql]
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.
informix - 32 ビットまたは 64 ビットの Informix Csdk 3.7 を選択する方法は?
私の開発者マシンは Windows 7 64 ビットで、32 ビットと 64 ビットのプログラムがいくつかあります。
3.70FC3 と 3.70TC3 のアップグレード以来、VisualStudio 2010 sp1 でのコンパイルに問題があります。
おそらく、64 ビットを 32 ビットに変更するために必要な構成がいくつかあります。または、両方の csdk を持つことがサポートされていない可能性があります
c - 「col = ? or col = ? or col = ?」どちらが速いか または、informix (.ec/esql) を使用した C の「(?, ?, ?) の col の場所」?
私たちのコードは C で書かれており、DB は Informix です。ESQL プログラムでコードの最適化を行っているところ、次のクエリが見つかりました。
UPDATE [TABLE] SET [PRIMARY KEY COLUMN] = [NEW KEY] WHERE COL = ? または COL = ? ...
where 句の列数は動的に準備されます。where 句の準備を停止して更新を実行し、戻って残りの準備を開始する上限カウント チェックがあります。UPPER_MARK は「30」です
if ( where_parameter_count >= UPPER_MARK )
__ update を実行
__ __ clean_and_continue; /* 準備を再開します */__
WHERE .. OR を WHERE ... IN に置き換えることを考えました
UPDATE [TABLE] SET [PRIMARY KEY COLUMN] = [NEW KEY] WHERE COL IN (?, ? ...)
これは「どこか」よりも高速ですか?
sql - 埋め込み SQL の If 条件
これは、私の組み込み SQL プログラムの一部のコードです。
エラーが発生します
「BEGIN-OF-STATEMENT」の後に、予期しないトークン「IF EXISTS(SELECT * FROM table_name」が見つかりました。予期されるトークンには、「」が含まれる可能性があります。SQLSTATE=42601
誰が何が悪いのか教えてもらえますか?
sql - SQL アプリケーション エラー
これは埋め込みSQLのコードです(c)
このコードでは、次のエラーが発生します。
SQLCODE : 4294966876 SQL0420N 関数 "DECFLOAT"
の文字ストリング引数に無効な文字が見つかりました。
SQLSTATE=22018
問題が何であるかを教えてもらえますか?
oracle - Oracle 配列から Cobol へのレコードの移動が発生する
Oracle から Cobol 配列にレコードを移動するにはどうすればよいですか? 単一のフィールドを移動すると、すべてが期待どおりに機能します。Oracle VARRAY でレコードを移動しようとすると、機能しません。PRO*COBOL プリコンパイラは、次のエラー メッセージを表示します。
オラクル型:
COBOL ESQL 匿名 PL/SQL ブロックのスニペット:
COBOL 変数宣言:
oracle - Informix「SERIAL」からPro*CのOracle NUMBER/Sequence/Triggerへ
一部の Informix ESQL を Oracle Pro*C に変換しようとしています。既存の Informix コードでは、「SERIAL」データ型を使用して、列が自動的にインクリメントされることを示していました。Oracle のドキュメントによると、Oracle Migration Workbench for Informix はこれを処理できるはずであり、関連する Oracle シーケンスとトリガーを使用して "SERIAL" データ型を "NUMBER" に変換すると説明されています。ただし、ツールを実行しようとすると、「SERIAL」という単語が「ERROR(SERIAL)」に置き換えられるだけなので、手動でトリガー/シーケンスを追加しようとしています。
ここでの例: http://docs.oracle.com/html/B16022_01/ch2.htm#sthref112は、これを行う方法を示しています。シーケンスはかなり単純に見えますが、トリガーを次のように作成しようとすると、次のようになります。
Pro*Cプリプロセッサはここで「CREATE」キーワードを取得し、ホスト変数「:new.JOB_ID」の使用を許可しないと判断します。ホスト変数は「CREATE」文と組み合せて使用できないためです。
私の質問は、ホスト変数を使用して列名を指定せずに、Oracle シーケンスを特定の列にリンクするトリガーを作成する方法はありますか? Oracle のドキュメントには、移行ツールで対応できるはずであることが示されているようです。これは、これを行う何らかの方法が必要であることを意味します。ただし、私が見つけたトリガーの使用例はすべてホスト変数を使用しているため、プリプロセッサが文句を言います。
お時間をいただきありがとうございます。
(注: 上記の例では、Oracle ドキュメントの例のトリガー/シーケンス/列名を使用しました。)
c++ - Proc*C コンパイルのエラー
次のプリコンパイラ オプションを使用して、Red Hat Linux v4.1.2-44 (HP および Solaris でコンパイル可能) で .pc ファイルをコンパイルしようとしています。
PROCFLAGS =* maxopencursors *=100 PARSE =NONE userid =db2poc/db2poc@mydb VARCHAR =YES code =CPP CPP_SUFFIX =cpp duration =session sqlcheck =full include =/app1/myuser/Application/Source/Header SYS_INCLUDE =/oradata1/ora11g /app/ora11g/product/11.2.0/dbhome_1/rdbms/public,/oradata1/ora11g/app/ora11g/product/11.2.0/dbhome_1/precomp/public,/oradata1/ora11g/app/ora11g/product/11.2 .0/dbhome_1/rdbms/plsql/public,/oradata1/ora11g/app/ora11g/product/11.2.0/dbhome_1/xdk/include,/usr/include/c++/3.4.6/後方
問題は、EXEC SQL DECLARE SECTION にマクロまたは typedef データ型がある場合、PCC-S-02322 というエラーがスローされ、マクロの未定義の識別子が見つかり、 typedef データ型の場合に次のエラーがスローされることです。
PCC-S-02201、次のいずれかを予期しているときに、シンボル「SHORT」が発生しました:
auto, char, const, double, enum, extern, float, int, long, *ulong_varchar, OCIBFileLocator OCIBlobLocator,* OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register, *short, signed, sql_context、sql_cursor、static、struct、* typedef、union、unsigned、utext、uvarchar、varchar、void、 volatile、typedef 名、プリコンパイル済みヘッダー、exec oracle、 exec oracle begin、exec、exec sql、exec sql begin、 exec sql end, exec sql type, exec sql var, exec sql include,
シンボル「enum」が「SHORT」の代わりに使用されました。
提案してください。ありがとう
sql - SQL-削除とサブクエリ
以下は、配置テーブル内のすべてのレコードを削除するために作成したSQLクエリです。ここでplacement.op_number
=は返されたレコードのリストです。
OP_NUMBER
サブクエリは単独で正常に機能し、列(2行)のみを返します。
私が得るエラーは次のとおりです。
サブクエリから返すことができるレコードは最大で1つです
私は何が間違っているのですか?
informix - Informix ESQL/C — フィールドを初期化する方法は?
すべての数値フィールド (smallint、decimal など) を 0 (ゼロ) に初期化し、テーブル内の他のフィールドをスペースに初期化するルーチンを ESQL/C で作成するにはどうすればよいですか?
jdbc - WMB: ESQL では、ODBC DSN の代わりに JDBCProvider 構成可能サービスとして定義されたデータソースに接続できますか?
ODBC DSN 経由でデータベースにアクセスする ESQL 中心 (計算ノード) の既存の WMB フローを継承しています。Java 中心のフロー (JavaCompute ノード) で使用する ODBC DSN の代わりに、データベース アクセスに構成可能なサービスを使用したいと考えています。
構成可能なサービスを介してデータベースと通信するようにコンピュート ノードを構成することは可能ですか?