SQL2012 データベースを使用した従来の ASP アプリケーションがあります。必要なデータを格納するのに十分な大きさではなかったため、最近、テーブルの列を varchar(8000) から varchar(max) に変更しました。
格納する必要があるすべてのデータで列を更新できますが、出力パラメーターとして列データを返すために使用する SP は 4000 文字しか返していません (少なくとも、次のコードの結果はそれを示しています:
Len(cmd.Parameters("@detail").Value)
SP への呼び出しの一部として、次のパラメーター宣言を使用しています。
cmd.Parameters.Append cmd.CreateParameter("@detail", 8, 2, -1, strDetail)
8 は adBStr の値です。8 を 200、201、203 に変更しようとしましたが、次のエラーが発生します。
エラー: 800a0e7c
説明:
パラメータ オブジェクトが正しく定義されていません。一貫性のない、または不完全な情報が提供されました。
データの更新は難しいと思いましたが、列の内容全体を取得する方法がわかりません。
列の DATALENGTH を返していますが、長さは 10,536 と表示されていますが、出力パラメーターを介して返されるスペースを含めて 4,000 文字しか取得できません。Visual Studio からすべてのデータ (10k 文字) を見ることができるので、そこにあることがわかります。
私の接続文字列 Provider=SQLOLEDB.1. これは問題になる可能性がありますか?新しい SQL Server Native Client 11.0 OLE DB Provider - SQLNCLI11 を使用する必要がありますか??
誰でもアイデアはありますか?
乾杯、マイク。