![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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 ?. |
|
#2
|
|||
|
|||
|
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);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, ... |
|
#3
|
|||
|
|||
|
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. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|