問題タブ [occi]
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.
c++ - OCCI 結果セットの getString() メソッドが nullpointer エラーを返す
rs->getString(2)
現在の行 ( )の列から文字列値を取得しようとすると、次のエラーが発生します。
たとえばrs->getInt(1)
、現在の行の ID をフェッチするために使用していますが、完全に機能します。(ただし、文字列としてフェッチしようとすると、上記のエラーが引き続き発生します)
データベースの値は varchar2 型なので、文字列値として返す必要があると思います。何が問題なのか誰にも分かりますか?
-Win10 64 ビット
-Visual Studio 2010
-Oracle db 11.2.0.2.0 64 ビット
-Oracle インスタント クライアント 64 ビット
-64 ビット アプリケーションの構築
c++ - select 句で case が使用されている場合、Oracle の数値の精度と位取りは両方とも 0 です。
この表を考えると、
OCCI (C++ ライブラリ) を使用して、次の SELECT クエリを実行します。
この場合、取得する型コードは ですOCCI_SQLT_NUM
が、精度とスケールはどちらも0
です。それ(0
精度とスケール)はどういう意味ですか?これはバグですか?
精度/スケールを知らなければ、プログラムを整数または浮動小数点のどちらとして扱うかを決定することができないため、プログラムの型安全性、セマンティクス、および正確性が危険にさらされます。
つまり、式の型は何CASE(x) WHEN y THEN a ELSE b
ですか? となることができa
ますか?違うと思う。では、型はどのように計算されるのでしょうか。INT
b
CHAR[32]
oracle - Ubuntu ORA-24960: 属性 OCI_ATTR_USERNAME が最大許容長の 255 を超えています
Ubuntu で次のテスト プログラムを実行して、インスタント クライアント OCCI ライブラリを使用して Oracle データベースに接続しようとしています。
コンパイル時にエラーはありません
しかし、実行すると取得します
Ubuntu 16.04、gcc 5.4.0 を実行していますが、インスタント クライアント 11.2 および 12.2 でも同じ結果が得られます。
これは以前に尋ねられました: https://stackoverflow.com/questions/40022118/ora-24960-the-attribute-oci-attr-username-is-greater-than-the-maximumしかし、答えは Linux には当てはまりません (または私は要点を逃しています)。
どんな助けでも大歓迎です。