SQLクエリを取得して実行し、結果セットのすべての列を行単位のバインディングを使用してSQL_C_WCHARとしてバインドするクラスがあります。
今私が行う方法は、char のベクトルを割り当て、次のように SQLBindColumn を与えるポインターを決定することです。
- 列 1 のバッファ = &vec[0]
- 列 1 の長さインジケータのバッファ = &vec[0] + (sizeof(SQLWCHAR) * 列 1 の長さ)
- 列 2 のバッファ = &vec[0] + (sizeof(SQLWCHAR) * 列 1 の長さ) + sizeof(長さインジケータ)
- 列 2 の長さ標識のバッファー = &vec[0] + (sizeof(SQLWCHAR) * 列 1 の長さ) + sizeof(長さ標識) + (sizeof(SQLWCHAR) * 列 2 の長さ)
等々
これにより、(SPARC で) アラインメントの問題が発生しています。パディングを追加する必要があることはわかっていますが、移植可能な量を計算する方法がわかりません。