sql >> データベース >  >> RDS >> Oracle

OracleODBCを使用してBLOBデータを取得する方法

    私はODBCプログラミングに精通していませんが、一見したところ、データ長がバッファサイズの倍数であると想定していることがわかります。ただし、最後の読み取りで正確に返されるとは限りません。 500バイトのデータ。

    あなたはそのような何かを書くべきです。多分:

      string str;
      SQLCHAR buf[500];
      SQLLEN cbLeft;      // #bytes remained
    
      while ((SQL_SUCCEEDED(SQLGetData(StmtHandle, 
                                       colnum, 
                                       SQL_C_BINARY, 
                                       buf, 
                                       sizeof(buf),
                                       &cbLeft))))
      //                               ^^^^^^^
      {
              string data(reinterpret_cast< const char* >(buf),
                          reinterpret_cast< const char* >(buf)
                          + cbLeft);
              //            ^^^^^^
              str = str + data;
    

    長さの使用を確認するために数分かかります/インジケーター値 長さ/インジケーターの値を確認するため が使用されます。




    1. 長時間実行されるクエリについてOracleデータベースをチェックする方法

    2. mySQLは特殊文字なしでvarcharを設定しました

    3. ラジオボタンを使用して値を変更するにはどうすればよいですか

    4. 日付のシーケンスに基づくランク