2017-11-22 2 views
0

SQL Server 2008 R2의 테이블에 대한 업데이트를 수행하려고하지만이 열은 8000 자만 씁니다.ASP에서 8000 자 제한 Classic/SQL Server

열의 데이터 유형이 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) 

'스트립'기능은 위생 처리를위한 것입니다.

+2

나를 따라 반복 : I. 것입니다. 못. 다시. 짓다. SQL. 처럼. 그. - 모든 상황에서 매개 변수가있는 쿼리를 사용해야합니다 **. [ASP 클래식에서 쿼리 매개 변수를 만들고 사용하는 방법] (https://stackoverflow.com/q/1092512/18771)을 배우려면 여기를 살펴보십시오. 코드를 다시 작성한 후에도 오류가 계속 발생하면 그에 따라 질문을 업데이트하십시오. – Tomalak

+0

그래 ... 슬프게도 그것은 오래된 시스템이고 나는 그것에 대해 많은 것을 할 수 없다. –

+1

@JairoFilho 어떤 경우에는 해결할 수 없습니다. 죄송합니다. – Lankymart

답변

-1

텍스트 변환시 Chr (varname) 또는 CStr (varname)을 사용하십시오. 여기에 설명 된 오류에 대한 varchar (최대) 변환에 대한 텍스트입니다.