全て、
私のコードは次のとおりです。
std::wstring ownerName = table->GetTableOwner();
SQLWCHAR *owner_name = new SQLWCHAR[ownerNameLen + 2];
int ownerNameLen = ownerName.length();
SQLLEN cbOwnerName = ownerNameLen == 0 ? SQL_NULL_DATA : SQL_NTS;
ret = SQLBindParameter( stmt_tableProp, 2, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_WCHAR, ownerNameLen, 0, owner_name, 0, &cbOwnerName );
owner_name に実際のデータが含まれている場合、SQLBindParameter の呼び出しは成功します。ただし、owner_name が '' の場合、呼び出しは失敗します。そして、私が得ているエラーメッセージは「HY104 - 精度またはスケール値が無効です」です。
MSDN によると、サイズの値は、実際のパラメーターのサイズではなく、列のサイズである必要があるようです。これは正しいです?または、バインディング値の長さとして 0 を渡す必要がありますか?
また、異なる値を使用するこのページもあります。
誰かが光を当ててくれませんか?
ティア!