viernes, agosto 11, 2006

Unsupported data conversion

Recientemente he añadido una columna extra a una base de datos en SQL.
Al guardar la tabla otras consultas (<cfquery>) que usan la misma table han dejado de funcionar.
El mensaje que me da es "Unsupported data conversion"

Aqui esta la consulta:

<cfquery datasource="#request.maindsn#" name="CheckEmail">
SELECT *
FROM Requests
WHERE email = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#Trim(attributes.email)#">
</cfquery>

La unica manera de arreglarlo es quitar el <cfqueryparam>

<cfquery datasource="#request.maindsn#" name="CheckEmail">
SELECT *
FROM Requests
WHERE email = '#Trim(attributes.email)#'
</cfquery>

Uso CFMX 7, SQL 2000 en un servidor Windows.

Despues de preguntar en las listas de Coldfusion parece que no tiene que ver con la base de datos sino con un error que tiene Coldfusion.
De alguna forma Coldfusion hace sus consultas de una copia "antigua" de la base.

Solución?
1. Resetear CFMX Server
(no siempre posible si tienes alojamiento compartido)
2. Quitar <cfqueryparam>
(puedes esperar un tiempo y volver a poner el <cfqueryparam> cuando Coldfusion haya cogido una nueva conexión a la base)
3. La mejor solucion que he encontrado es de especificar en el SELECT, los campos exactos que necesitas. (SELECT nombre, email FROM emails)
Además hace que escribas codigo más preciso.


Por si sirve de ayuda.

No hay comentarios: