ODBCを経由して(RFX_Textを使って)文字コードがUTF16の文字列を登録したいのですが、うまく行きません。
アプリ内でRFX_Textの引数には_bstr_tを使用しているのですが、SQLプロファイルで確認した処、ストアドにデータが渡る時には既に文字コードがShift-JISになっていました。RFX_Textを使わない方法を考えるしかないようなのですが、どのような方法があるのでしょうか?
開発環境はWindows2000 VC++6.0 _MBCSです。(既存システムの修正なので_MBCSを変えることはできません)
とりあえず、格納されるODBCの型は何になるのでしょうか?
同じ質問を複数の掲示板で質問する行為(=マルチポスト)
は悪い印象しか与えませんので、なるべくやらないほうがいいです。
やるのであれば、一番最初に「〜でも質問している」とのことを明記して(もちろんリンクを張る)
どちらかの掲示板で進展があれば、もう一方の掲示板でも逐一どんなアドバイスをもらったのか
をめんどうみなければなりません。(リンク先を読まなくてもわかるようにする)
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1074392&SiteID=7
Blue様 回答ありがとうございます。
>とりあえず、格納されるODBCの型は何になるのでしょうか?
ODBCの型とはスキーマ定義のことでしょうか?でしたら、nvarcharにしてあります。(申し訳ありません。初心者なのでトンチンカンな事を言ってるかもしれません。)
>同じ質問を複数の掲示板で質問する行為(=マルチポスト)
>は悪い印象しか与えませんので、なるべくやらないほうがいいです。
>やるのであれば、一番最初に「〜でも質問している」とのことを明記して(もちろんリンクを張る)
>どちらかの掲示板で進展があれば、もう一方の掲示板でも逐一どんなアドバイスをもらったのか
>をめんどうみなければなりません。(リンク先を読まなくてもわかるようにする)
ご指導、ありがとうございます。以後、気をつけるようにします。
RFX_Testのリファレンスを見ると、使えるのは
>SQL_LONGVARCHAR、SQL_CHAR、SQL_VARCHAR、SQL_DECIMAL、SQL_NUMERIC
のデータ型らしいです。
ほかの RFX_〜で使えそうなものたとえば、RFX_Binaryとか試してみるとか。
データベースを扱うようなものは簡単に試せない(回答者側が環境を作れない)ので
気長に待つしかないような気がします。
(しかもMFCの方法に限っていますので、私はやったこともないのでなんともいえない。
VBとかでよく使うADO(COM)であればParameterオブジェクトから型を指定できるんですけどね。(しかも文字列はBSTRだし)
->そうすると0から作り直しになりそう。)