Mensaje de error “Los valores incorrectos dentro de la estructura SQLDA” con Firebird y Delphi 2009

StackOverflow https://stackoverflow.com/questions/1852290

Pregunta

Estoy strugling con mensaje de error "Los valores incorrectos dentro de la estructura SQLDA" cuando estoy tratando de actualizar campo burbuja dentro de la base de datos Firebird 2.1 de Delphi 2009 DBX aplicación.

Sin embargo, me sale el mensaje de error cuando estoy tratando de ejecutar TSQLQuery con SQL siguiente: "actualización MITABLA establecer Campo1 =: datos donde id =: id"

El código de Delphi relevante es:

MyQuery.ParamByName('id').AsInteger := id;
MyQuery.ParamByName('data').LoadFromFile(filename, ftBlob);
MyQuery.ExecSQL();

¿Dónde debo buscar? Esto ha estado trabajando en las versiones anteriores de Delphi.

¿Fue útil?

Solución

Revise su conductor - se para Firebird o simplemente utilizar el Interbase controlador para esto ?. Se sabe que el equipo Firebird cambió la estructura SQLDA para Blobs en 2.1 y, por lo tanto, el conductor Interbase no se puede usar más.

Usted tiene algunas opciones aquí:

  1. (recomendado, en mi humilde opinión) de actualizar a Delphi 2010 - además de un controlador DBX Firebird obtendrá mucho más cosas para jugar (ver aquí para obtener más )
  2. Comprar un conductor tercera parte para Firebird, que trabaja en Delphi 2009
  3. 'downgrade' el pájaro de fuego (usarlo como último recurso, por supuesto)
  4. Cambiar la biblioteca de conectividad. Sí, se podría dar a entender código de reescritura.

Otros consejos

tal vez usted necesita para utilizar el controlador dbx libre para pájaro de fuego

http://sites.google.com/site/dbxfirebird/

Este es el tipo de error que el conductor cripta Interbase de Delphi se utiliza para mostrar.

He visto este problema cuando se tiene un número diferente de parámetros en la instrucción SQL y los definidos en el componente de consulta.

La primera cosa que viene a la mente es asegurarse de que el DLL del cliente (o gds32.dll fb32.dll o fbclient.dll, el nombre depende de la versión de Firebird que esté utilizando) coincide exactamente con la versión del servidor que están usando.

- Jeroen

Fwiw, Tengo este error en un programa Perl mediante la ejecución de un comunicado sin variables se unen, cuando los necesitaba.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top