PDA

Ver la Versión Completa : Error: "Your user name and password are not defined"


semaral
16-05-2008, 14:13:35
Hola a todos:

Estoy haciendo un programa que crea una base de datos. Para ésto, he incorporado el componente IBDatabase al formulario y le he puesto el nombre de BDReembolsos. La Base de datos física, todavía no está creada. Añado el siguiente código:

BDReembolsos.DatabaseName:='.\BDReembolsos\BDReembolsos.gdb';
BDReembolsos.Params.Clear;
BDReembolsos.Params.Append('USER ''SYSDBA''');
BdReembolsos.Params.Append('PASSWORD ''masterkey''');
BDReembolsos.Params.Append('PAGE_SIZE 4096');
BDReembolsos.LoginPrompt:=FALSE;
BDReembolsos.CreateDatabase;
BDReembolsos.Connected:=true;


Hasta aquí todo perfecto. Ahora añado el siguiente código:

BDReembolsos.Connected:=false;
BDReembolsos.Connected:=true;

Y me da error "Your user name and password are not defined". Modifico el Código anterior:

BDReembolsos.Connected:=false;

BDReembolsos.DatabaseName:='.\BDReembolsos\BDReembolsos.gdb';
BDReembolsos.Params.Clear;
BDReembolsos.Params.Append('USER ''SYSDBA''');
BdReembolsos.Params.Append('PASSWORD ''masterkey''');
BDReembolsos.Params.Append('PAGE_SIZE 4096');
BDReembolsos.LoginPrompt:=FALSE;
BDReembolsos.CreateDatabase;
BDReembolsos.Connected:=true;

Pero me sigue dando el mismo error. No sé por qué, si desconecto la Base de datos, después no puedo volver a conectarla.

Espero que podáis ayudarme. Muchas gracias por vuestra colaboración.

semaral
16-05-2008, 15:07:49
También lo he intentado con las instruccion open, close y force close, pero al volver a abrir, me da el mismo error

eduarcol
16-05-2008, 16:12:23
el parametro para el nombre del usuario es User_Name, y se asignan asi:

NombreParametro = Valor

semaral
16-05-2008, 16:36:45
Hola, gracias por tu ayuda, pero he cambiado USER por User_Name pero me dice que User_Name es desconocido. De todas formas en la primera parte del código, yo le añado los parámetro USER ''SYSDBA'' y a la hora de crear la base de datos no me da ningún error. Me la crea bien. El problema es cuando cierro y vuelvo a abrir la base de datos, que no me reconoce los parámetros iniciales, y no sé por qué.

¿Tenéis alguna idea?

semaral
16-05-2008, 17:12:12
el parametro para el nombre del usuario es User_Name, y se asignan asi:

NombreParametro = Valor

Ya está, muchas gracias. Lo he vuelto a hacer y ya funciona, pero no entiendo por qué para usar CREATEDATABASE, se usa una configuración de parámetros diferentes que si usas OPEN o CONNECTED.

Muchas gracias por tu ayuda,

Diego827
04-07-2011, 01:52:59
Me dio curiosidad esto asi que decidi hacerlo en C++ y este es el resultado:


AnsiString user;
AnsiString contraseña;
IBDatabase1->Close();
user="user_name="+usuario->Text;
contraseña="password="+pass->Text;
ShowMessage(user+"\n"+contraseña);
IBDatabase1->Params->Clear();
IBDatabase1->LoginPrompt=false;
IBDatabase1->Params->Add(user);
IBDatabase1->Params->Add(contraseña);
IBDatabase1->Connected=true;
IBQuery1->Open();




Tal vez le sirva a alguien ;)

(UPPSSS no me habia dado cuenta de que tan viejo es este hilo!!! bueno de repente alguien necesita el codigo :D)