Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Error conexion IB (https://www.clubdelphi.com/foros/showthread.php?t=67957)

Caral 15-05-2010 21:48:15

Error conexion IB
 
Hola
Estoy tratando de conectarme a Firebird con los componentes IB.
Al usar IBTable lo hace perfecto.
Al usar IBQuery me manda este error:
Cita:

Dinamic SQL Error
Sql error code = 204
Table unknown
ARTICULOS (con mayúscula, la tabla esta asi; Articulos)
Alguna idea del por que es?
Saludos

Casimiro Noteví 15-05-2010 22:18:45

jejeje... vas a tener que leer la guía de estilo :D
Imagino que has puesto un tibdatabase, un tibtransaction y un tibdataset, bien.

DB1 : TIBDataBase
DatabaseName = localhost:c:\datos\basedatos.fdb
DefaultTransaction = TR1
Params:
user_name=sysdba
password=masterkey

TR1 : TIBTransaction
DefaultDatabase = DB1
Params:
read_committed
rec_version
nowait

qrArticulos : TIBDataSet
Database = DB1
Transaction = TR1
SelectSQL = select * from tbArticulos // por ejemplo

En el qrArticulos le das con el botón derecho del ratón y pulsas en "Dataset Editor". En la ventana que se abre pulsas en los botones: "Get Table Fields", "Select Primary Keys" y "Generate SQL", le das a OK y listo.

Casimiro Noteví 15-05-2010 22:20:54

Supongo que has creado la base de datos con las tablas sin comillas, no?
create table articulos ......, por ejemplo, porque si lo has puesto entre comillas: create table "articulos"... entonces tendrás que ponerlo tal y como lo has declarado entre las comillas, todo esto es con dialecto 3.
Te recomiendo la primera forma.

marcoszorrilla 15-05-2010 22:26:33

Es indiferente que la tabla la escribas en mayúsculas o en minúsculas la abrirá igual, supongo que tienes.
1.IbDatabase
2.IbTransaction
3.IbQuery

El IbQuery estará conectado al IbDtabase y el IbQuery conectado a la transación que a su vez está conectada al IbDtabase.

Un Saludo.

Nota:No había leido la indicación de Casimiro ya nos aclararás.....

Caral 15-05-2010 23:00:04

Hola
Cita:

Empezado por Casimiro Notevi (Mensaje 364179)
jejeje... vas a tener que leer la guía de estilo :D

Amigo, lo busque pero el buscador nunca me ha querido..:D

Aqui me perdi, no se donde esta o a que te refieres con el qrArticulos.
Cita:

Empezado por Casimiro Notevi (Mensaje 364179)
En el qrArticulos le das con el botón derecho del ratón y pulsas en "Dataset Editor". En la ventana que se abre pulsas en los botones: "Get Table Fields", "Select Primary Keys" y "Generate SQL", le das a OK y listo.

Los demas pasos creo que los hice bien.
Saludos

Caral 15-05-2010 23:08:41

Hola
Rectifico ya lo encontré, pero me sigue dando el mismo error que al principio.
Que puede ser, segui los pasos tal como me indicaste.
Saludos

Casimiro Noteví 16-05-2010 01:37:30

Cita:

Empezado por marcoszorrilla (Mensaje 364182)
Es indiferente que la tabla la escribas en mayúsculas o en minúsculas la abrirá igual, supongo que tienes.[..]

Creo recordar que no es así, marcos, en dialecto 3, si creas una tabla y sus campos entre comillas, luego tendrás que llamarlos exactamente igual, mayúsculas o minúsculas. Pero si lo escribes sin ponerlos entre comillas entonces sí será indiferente, o sea, igual que funcionaba el dialecto 1.
Repito, creo recordar.

Cita:

Empezado por Caral (Mensaje 364191)
Hola
Rectifico ya lo encontré, pero me sigue dando el mismo error que al principio.
Que puede ser, segui los pasos tal como me indicaste.
Saludos

¿Puedes poner la declaración de la tabla, cómo haces la llamada, etc?

Casimiro Noteví 16-05-2010 01:38:20

Cita:

Empezado por Caral (Mensaje 364187)
[..]Aqui me perdi, no se donde esta o a que te refieres con el qrArticulos.[..]

qrArticulos es sólo un ejemplo, el nombre que le hayas puesto al query

Caral 16-05-2010 04:13:23

Hola
Muchas gracias a ambos, ya pude conectarme sin problemas.
Que me haría sin vosotros, sois unos maestros.
Saludos
PD: Ahora me toca empezar el cambio de ADO a IB en el programa.
Se que me voy a encontrar con problemas en las sentencias SQL.
Ya os iré preguntando, sin pasar por encima de la Guía de estilo.:)

marcoszorrilla 17-05-2010 07:00:16

Yo Creo las tablas:
Código:

/* ********************************* AGENDA ********************************* */
Create Table Agenda(
Nombre Varchar(50) Not Null,
Empresa Varchar(50),
Telefono Varchar(30),
Telefono2 Varchar(30),
Movil Varchar(30),
Correo Varchar(50),
Observaciones Blob Sub_Type 1 Segment Size 80);

Alter Table Agenda Add constraint Pk_Agenda_Nombre  PRIMARY KEY (Nombre);

De esta manera es como es indiferente que luego utilice mayúsculas o minúsculas, pero tienes razón Casimiro si se utiliza el nombre entrecomillado al crearlo, luego habrá que llamarlo exactamente igual, creo que el entrecomillado se utiliza cuando el nombre tiene algún caracter raro, va separado por espacios....

Un Saludo.


La franja horaria es GMT +2. Ahora son las 06:05:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi