0
SQL Server 2008 R2のテーブルで更新を実行しようとしていますが、この列は8000文字しか書きません。ASP Classic/SQL Serverで8000文字の文字列
カラムのデータ型はtext
に設定されていますが、すでに成功していないvarchar(max)
に変更しようとしました。
cast('variable' as text)
とcast('variable' as varchar(max))
もまた失敗しました。
SQLコンソール(私は画面上でresponse.writeを作成し、コピーして貼り付けたもの)または手動で8000文字以上を挿入して同じ更新を行うと、Microsoft Visual Studioを使用して動作します。
sql_Up = "UPDATE ABVC_Eventos SET titulo_eve = '" & Strip(Evento) & "', cod_sup_eve = '" & Strip(cod_sup_eve) & "', cod_sup2_eve = '" & Strip(cod_sup2_eve) & "', texto_eve = CAST('" & Strip(texto_eve) & "' AS TEXT), WHERE id_eve = '" & Strip(Cod_Evento) & "'"
set Rs_sqlUp = bco.Execute(sql_Up)
「ストリップ」機能は、サニタイズ用です。
私の後に繰り返します:私はします。決してない。再び。ビルド。 SQL。好き。それ。 - すべての状況でパラメータ化されたクエリを使用する必要があります**。 [ASPクラシックでクエリパラメータを作成および使用する方法](https://stackoverflow.com/q/1092512/18771)をご覧ください。コードを書き直してもエラーが発生した場合は、それに応じて質問を更新してください。 – Tomalak
うん...悲しいことに、これは古いレガシーシステムであり、私はそれについて多くを行うことはできません。 –
@JairoFilhoこの場合、あなたはそれを修正するために多くをすることはできません。ごめんなさい。 – Lankymart