Hace poco leí por aquí en alguna parte a alguien que decía que esto de responderse uno mismo lo hace sentir a uno estúpido
.
Pues la verdad sí había hecho algo que no recordaba
.
Probando Firebird embebido puse todos los archivos de Firebird en el lugar correcto con relación a la carpeta desde donde ejecuto mi aplicación. Eso es todo.
A pesar de estar instalado el servidor Firebird al iniciar mi aplicación, iniciaba realmente el Firebird embebido (leía la librería fbembed.dll que normalmente cambiar de nombre a fbclient.dll), y de esta manera intentaba usar el archivo manifiesto (del fb embebido) que se usa para localizar los conjuntos de caracteres. La documentación es muy clara al respecto:
If a character set/collation is declared more than once, it is not loaded and the error is reported in the log.
Como ya el servidor estaba iniciado, al intentar declarar nuevamente todos los conjuntos de caracteres en realidad no se cargaban y se producía el error.
Solución... pues simple, eliminar los archivos Firebird Embedded del directorio de mi aplicación, para que esta usara realmente el servidor.
Por si a alguien le sucede, para que luego no se sienta estúpido... como yo
.
PD. Obviamente el otro mensaje relacionado con el acceso al archivo de bases de datos también desapareció.