Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-09-2007
Fernando_dev Fernando_dev is offline
Registrado
 
Registrado: sep 2007
Posts: 3
Poder: 0
Fernando_dev Va por buen camino
Conección Delphi 2007 a Oracle

Hola,

Tengo que convertir una aplicación Delphi 5 a Delphi 2007 pero no puedo conectarme a Oracle.

La aplicación utiliza TStoredProc (s) cuya propiedad: DatabaseName apunta al nombre del db Oracle definido en BDE Administrator.

Con Delphi 5 todo funciona bien, pero con Delphi 2007 recibo los siguientes errores:

Cuando ejecuto la aplicación:
„Project Simulate.exe raised exception class EDBEngineError with message ‚ Your Application is not enabled for use with this driver. Alias: prk’. “

Cuando, en design mode, trato de acceder a la propiedad DatabaseName de un TStoredProc el error es:
An error occurred while attempting to initialize the Borland Database Engine(error $210D)

(Si configuro BDE Administrator para acceder a Oracle con ODBC el error es el mismo pero el código cambia a $2A06)

Tiene alguien alguna idea para resolver este problema?

Muchas gracias de antemano
Fernando
Responder Con Cita
  #2  
Antiguo 06-09-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Ya que estas migrando, por que no contemplas utilizar ADO?, BDE es una tecnologia obsoleta.

Suerte
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #3  
Antiguo 07-09-2007
Fernando_dev Fernando_dev is offline
Registrado
 
Registrado: sep 2007
Posts: 3
Poder: 0
Fernando_dev Va por buen camino
Acceso con ADO a Oracle Stored procedures desde Delphi 2007

Gracias Poliburro,

No tengo experiencia con ADO pero me pregunto si seria factible la conversion sin tener que hacer el cambio en cada Stored Procedure / Formulario ya que el proyecto es bastante extenso.

Si alguien tiene una idea (o código disponible para acceder con ADO a Oracle Stored procedures desde Delphi 2007 ) les agradezco nuevamente de antemano

Fernando
Responder Con Cita
  #4  
Antiguo 08-09-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Algunas ideas adicionales

Hola,

En el caso del driver nativo BDE es probable que tenga alguna incompatibilidad con la versión de Oracle; pero en el caso del ODBC es un poco raro porque debería manejar un standard. Quizás sería bueno intentar con otro driver ODBC.

Paralelamente, te ocurre con todos los Stored Procedure ?. Pasa lo mismo si los invocas directamente vía el SQL Explorer ?.
Responder Con Cita
  #5  
Antiguo 18-09-2007
Fernando_dev Fernando_dev is offline
Registrado
 
Registrado: sep 2007
Posts: 3
Poder: 0
Fernando_dev Va por buen camino
ADO parámetros para Oracle Stored Procedure

Gracias a todos por su ayuda pero parece que con Delphi 2007 no es facil acceder a un Stored Procedure Oracle, ni con BDE ni con ADO.

Para probar la conección con ADO he creado una aplicación muy sencilla. Al correr el código:
procedure TForm1.Button1Click(Sender: TObject);
begin
StpShowParking.Active := true;
end;

Hay un error que dice que hay incompatibilidad en el número o tipo de parámetros.

Luego de mucha busqueda en la Internet he encontrado una posible solución a este error y esta sería añadir a ConnectionString:

Extended Properties="PLSQLRSet=1"

pero luego de ejecutar el código el error es el mismo!!

Agradezco enormemente a alguien que pueda proporcionar alguna información para resolver este problema



Los controles TADOStoredProc y TADOConnection están definidos en Design view:
(Tanto la conección como el acceso a los diferentes Procedures del banco de datos estan correctos)

object ADOConn1: TADOConnection
Connected = True
ConnectionString =
'Provider=OraOLEDB.Oracle.1;Password=password;Persist Security Inf' +
'o=True;User ID=userid;Data Source=prk_server;Extended Properties="' +
'PLSQLRSet=1"'
Provider = 'OraOLEDB.Oracle.1'
Left = 16
Top = 8
end


object StpShowParking: TADOStoredProc
Connection = ADOConn1
ProcedureName = 'SHOW_PARKING'
Parameters = <
item
Name = 'CSR'
Attributes = [paNullable]
DataType = ftInterface
Direction = pdInputOutput
Value = Null
end>


El Stored Procedure de Oracle es:

CREATE OR REPLACE PROCEDURE "SHOW_PARKING" /
( csr IN OUT pck_int_cursors.csr_all)
AS
BEGIN
OPEN csr FOR SELECT parking.prk_id,
...
Responder Con Cita
  #6  
Antiguo 19-09-2007
waly2k1 waly2k1 is offline
Miembro
 
Registrado: dic 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 251
Poder: 18
waly2k1 Va por buen camino
Fijate como ejecutas el SP

Yo lo hice con SQL Server y no Oracle a traves de ADO
utilizando un comando, pero es lo mismo si ejecutas desde la conexion ADO
Supongamos q tu conexion se denomina Conx:

Conx.Execute( 'mySP ' + param1 + ', ' + param2 + ', ' + paramN );
Donde mySP es el nombre del Stored Procedure


Te copio un poco de codigo y perdon por el desorden, pero al editar no te muestran las etiquetas de codigo

with Data.adoCMD do
begin
CommandType := cmdStoredProc;
CommandText := 'dbo.SP_COMPRAS_INSERT';
Parameters.Clear;
Parameters.CreateParameter( '@Id_Compra' , ftLargeInt , pdOutput , 20, 0 );
Parameters.CreateParameter( '@Id_Proveedor' , ftLargeInt , pdInput , 20, StrToInt( txtProveedor.Text ) );
Parameters.CreateParameter( '@Tipo_Comprobante' , ftString , pdInput , 3 , cbTipoDOC.Text );
Parameters.CreateParameter( '@Nro_Comprobante' , ftString , pdInput , 13, txtComprobante.Text );
Parameters.CreateParameter( '@FechaRecepcion' , ftDate , pdInput , 10, Date );
Parameters.CreateParameter( '@MontoIVA' , ftCurrency , pdInput , 20, StrToFloat( txtIVAGral.Text ) );
Execute;
end;

adoCMD es un adocommand q esta en un datamodule

Saludos y Exitos

Última edición por waly2k1 fecha: 19-09-2007 a las 11:10:16.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lanzamiento Delphi 2007, PHP y JBuilder 2007 R2 Santiago - Chile Andreano Noticias 4 14-05-2007 09:25:23
delphi 2006 / delphi 2007 y Visual estudio 2005 avmm2004 Varios 2 13-04-2007 20:50:07
Lanzamiento de Delphi 2007 y Delphi para PHP en Bogotá - Colombia Andreano Noticias 9 25-02-2007 19:09:42
Conección de Datos Delphi - Rave gaps2k Impresión 0 14-02-2007 17:05:45
problemas en coneccion delphi 6.0 con interbase 6.0 onasis Firebird e Interbase 1 02-06-2005 22:50:47


La franja horaria es GMT +2. Ahora son las 06:19:40.


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