Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Acceso BD oracle por ODBC sin componentes visuales
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Acceso BD oracle por ODBC sin componentes visuales

Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Acceso BD oracle por ODBC sin componentes visuales Responder citando

Estoy desarrollando una aplicación Delphi que no lleva formularios ni componentes visuales, lo que quiero es poder conectarme a una base de datos Oracle 11g mediante ODBC, pero sin agregar TDatabase ni TQuery a un formulario o a un módulo de datos, es decir, todo por código ¿esto es posible? ¿se puede hacer la conexión a Oracle Database 10g mediante ODBC sin usar componentes de terceros?
MensajePublicado:
Mie Jun 16, 2010 7:46 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Acceso BD oracle por ODBC sin componentes visuales Responder citando



Anuncios



varios escribió:
Estoy desarrollando una aplicación Delphi que no lleva formularios ni componentes visuales, lo que quiero es poder conectarme a una base de datos Oracle 11g mediante ODBC, pero sin agregar TDatabase ni TQuery a un formulario o a un módulo de datos, es decir, todo por código ¿esto es posible? ¿se puede hacer la conexión a Oracle Database 10g mediante ODBC sin usar componentes de terceros?


Sí que es posible, sin usar componentes de terceros y sin usar componentes "visuales".

En el USES de tu unidad añade: "db" y "dbtables".

En el procedimiento que realiza la conexión con Oracle Database 11g mediante ODBC añade algo así:

Código:

procedure conectarBDOracle11 ();
var
  bdConexion : TDatabase;
  tcConsulta : TQuery;
begin
  try
    bdConexion := TDatabase.Create(nil);
    bdConexion.AliasName := 'NOMBRE_ODBC';
    bdConexion.DatabaseName := 'ConOracle';
    bdConexion.ReadOnly := True;
    bdConexion.LoginPrompt := False;
    bdConexion.Params.add('PASSWORD=contraseña_usuario_oracle');
    bdConexion.Params.add('USER NAME=usuario_oracle');
    bdConexion.Connected := true;

    tcConsulta := TQuery.Create(nil);
    tcConsulta.DatabaseName := 'ConOracle';
    tcConsulta.Close;
    tcConsulta.SQL.Clear;
    tcConsulta.SQL.Add('SELECT * from facturas');
    tcConsulta.open;
  except
    raise;
  end;
end;


En este ejemplo, hemos realizado una conexión usando el driver ODBC que previamente habrás creado, con el nombre "NOMBRE_ODBC", en tu caso cámbialo por el nombre que le hayas dado.

Por otro lado, le indicamos que no nos pida el usuario y contraseña de Oracle, sino que se lo pasamos por código en:

Código:

    bdConexion.LoginPrompt := False;
    bdConexion.Params.add('PASSWORD=contraseña_usuario_oracle');
    bdConexion.Params.add('USER NAME=usuario_oracle');


Y le hemos dicho que la conexión la realice de sólo lectura (porque sólo ejecutamos una select, no modificamos datos).

Y por último, ejecutamos en un TQuery una select cualquiera.

Con esto no necesitarás añadir componentes a un formulario o a un módulo de datos, pues los estás creando en tiempo de ejecución, no en tiempo de diseño.

Nota: recuerda que tendrás que tener instalado Oracle Client en el equipo que realizará la conexión con Oracle Database 11g, en el siguiente enlace tienes explicado esto:

http://www.ajpdsoft.com/modules.php?name=Foros&file=viewtopic&t=1087
MensajePublicado:
Mie Jun 16, 2010 7:55 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A