問題タブ [soci]
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++ - Oracle データベースに特殊記号を挿入できません
特殊記号 (例: æ_ø_å_Æ_Ø_Å_____£€$&@%¿) を Oracle データベース テーブルの VARCHAR2 列に追加しようとしましたが、次の方法で異なる結果に気付きました。
データベース文字セット: SELECT * FROM nls_database_parameters WHERE parameter LIKE '%SET';
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_CHARACTERSET WE8MSWIN1252
使用される SQL :
- SQL Developer経由で直接挿入
結果 : æ_ø_å_Æ_Ø_Å_____£€$&@%¿
- SQLPlus 経由で挿入
結果 : ¿¿_¿¿_¿¿_¿¿_¿¿_¿¿_____¿¿¿¿¿$&@%¿¿
- SOCI ライブラリを使用して C++ コード経由で挿入
結果:
データベース接続文字列 (WINDOWS_1252 文字セット) を使用中:"oracle://service=<service> user=<user> password=<password> charset=178 ncharset=1000";
結果は
æ_ø_å_Æ_Ø_Å_____£€$&@%¿
データベース接続文字列 (UTF_8 文字セット) の使用中:"oracle://service=<service> user=<user> password=<password> charset=871ncharset=1000";
結果は
æ_ø_å_Æ_Ø_Å_____£€$&@%¿
C++ コードが使用されました:
この一貫性のない動作の理由は何ですか?
c++ - SOCI クエリからの出力をバインドするにはどうすればよいですか?
次のコードは、次のエラー メッセージを生成します。
dbU::Connection()
接続文字列を生成する関数です。
iDuserid
、sDusername
、およびは、タイプおよびsDpassword
の UACmUsers のプライベート メンバーです。int
std::string
indUserid
、indUsername
、およびindPassword
は、タイプ の UACmUsers のプライベート メンバーですsoci::indicator
。
を検索する 2 番目のオーバーロードされた関数がありusername
ます。この関数をコメントアウトして 2 番目の関数だけを残すと、コンパイラは 2 番目の関数の同じポイントを指します。
bool UACmUsers::GetUser(const wxString& username);
インジケーターを 2 つ削除しようとしましたが、問題は解決しません。
エラー:
SOCI の動作を手伝ってくれる人はいますか?
c++ - soci は致命的なエラーを返します: mysql.h: そのようなファイルまたはディレクトリはありません
SOCI ライブラリを使用しているプログラムをコンパイルしようとすると、次のようになります。
私がチェックしたところ、mysql.hが次の場所にありました:
私のCMakeListsファイルは次のとおりです。
私は追加しようとしました:
しかし、パッケージ構成ファイルがないことがわかりました。
また、soci および mysql コネクタを再インストールしようとしました。