列を含むテーブルを持つ MySQL データベースがありBINARY(16)
ます。
C++ アプリケーションから ODBC 経由でバイナリ データを書き込むと、データは Null で終わる文字列のように扱われます。つまり、データの最初の Null バイトで切り捨てられます。
私の C++ アプリケーションでは、次のようにunsigned char [16]
配列をバインドします。SQLBindParameter
SQLBindParameter(statementHandler, paramCount, SQL_PARAM_INPUT, SQL_C_BINARY, SQL_BINARY, MAX_NOTIFICATION_OUT_IP_BIN_LEN, 0, _notificationOutDstIP, MAX_NOTIFICATION_OUT_IP_BIN_LEN, 0);
MAX_NOTIFICATION_OUT_IP_BIN_LEN
は16です。
バイナリ データに Null 値が含まれている場合でも、データベースに 16 バイトが書き込まれるようにするにはどうすればよいですか?