潜在的に長いエラー文字列を格納したいフィールドがテーブルにあります。このために、データ型としてvarchar(MAX)を選択しました。テーブルにそのデータを入力するために使用されるストアドプロシージャを作成し、フィールド「ErrorDescription」に次のパラメータ定義を使用しました。
@ErrorDescription as varchar(MAX)
問題は、ストアドプロシージャを呼び出してエラーをログに記録するADOプロシージャ(Access 2003内)内にあります。エラーの説明を文字列値として受け取り、それをパラメータに割り当てようとします...
cmd.Parameters("@ErrorDescription").Value = errorDescription
しかし、次のエラーで失敗します。
「パラメータオブジェクトが正しく定義されていません」
ストアドプロシージャの定義を...に変更すると
@ErrorDescription as varchar(255)
その後、すべてがうまく機能します。非常に長い可能性のある文字列を受け入れるようにストアドプロシージャパラメータを定義するにはどうすればよいですか?varchar(MAX)
使用するデータ型が間違っていませんか?ありがとうございました。
編集私が使用していたSQLServerのバージョンについて言及する必要がありました。SQLServer2008を使用しています。