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 05-06-2013
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Problema ingreso Datos BD (BDE)

Hola amigos, estoy elaborando una aplicacion con conexion a BD, anteriormente habia utilizado ZeosLib para esta tarea, pero recientemente migre a Delphi XE4 y actualmente no hay soporte aun por lo que investige.

Trabajando con BDE estableci la conexion a la BD (con Oracle XE) y hasta aca todo bien. Agrege un TTable y carge una tabla, y luego agrege un TDataSource asociado a la TTable. Lo que busco es hacer insercciones y demas dentro de la aplicacion, para ello asocie el TDatasource con los componentes TDBGrid y TDBNavigation al TDataSource.

El resultado de todo es que me muestra los campos e informacion, pero hasta ahi, no me permite hacer ninguna accion mas, ni hacerle update, eliminaciones o insercciones a la tabla, no se que esta mal.

Estoy trabajando con Delphi XE4, Windows 7 64 Bits, un parametro extraño es que al iniciar la APP y pedirme las credenciales (en el origen de datos tengo el user de mi BD) me muestra el user de la BD y al ingresale el password me vuelve a tirar el prompt de login, pero ya sin el usuario y despues de el user y password ya ingresa, no se si esto tendra algo que ver.
Desde ya muchas gracias por la ayuda que puedan brindarme con el tema o si supieran alguna forma de instalar ZeosLib en Delphi XE4 tambien les estaria muy agradecido.
Saludos.
Responder Con Cita
  #2  
Antiguo 05-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
BDE es muy obsoleto, si es para oracle ¿has probado DOAC (Delphi Direct ORACLE Access Components)?
Responder Con Cita
  #3  
Antiguo 05-06-2013
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
BDE es muy obsoleto, si es para oracle ¿has probado DOAC (Delphi Direct ORACLE Access Components)?
Hola amigo, gracias por la pronta respuesta, ya baje DOAC y lo intente compilar e instalar, pero no me funciona y revisando encontre en la descripcion de DOAC lo siguiente:

"Delphi Components for direct (without BDE) access to ORACLE 7.3/8/8i Server from Delphi 4,5,6,7.
Full implementation of ORACLE BLOB and CLOB fields.
Possibility to execute stored procedures and parts of PL/SQL code.
Fast and powerful tables in memory."



Al parecer este componente es compartible con Oracle 7.3/8 y 8i, en cuando a Delphi trabaja con 4,5,6,7 , no se si por ello es que no pueda utilizarlo?
Gracias por la ayuda y respuestas.
Responder Con Cita
  #4  
Antiguo 05-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por gersojn Ver Mensaje
pero no me funciona
¿Y con eso quieres que te ayudemos?
¿Qué quiere decir que no te funciona?, que una vez instalado pones un componente, ejecutas el programa y no devuelve datos?

Si no puedes instalarlo entonces prueba a modificar el fichero: dOCI.inc
Sustituye su contenido:
Código:
//{$DEFINE ADEBUG} 
 
{$IFDEF VER120} 
 {$DEFINE D4} 
{$ENDIF} 
 
{$IFDEF VER130} 
 {$DEFINE D5} 
{$ENDIF} 
 
{$IFDEF VER140} 
 {$DEFINE D6} 
{$ENDIF} 
 
{$IFDEF VER150} 
 {$DEFINE D7} 
{$ENDIF} 
 
{$IFNDEF D4} 
  {$DEFINE D5_OR_HIGHER} 
  {$IFNDEF D5} 
    {$DEFINE D6_OR_HIGHER} 
    {$IFNDEF D6} 
      {$DEFINE D7_OR_HIGHER} 
    {$ENDIF} 
  {$ENDIF} 
{$ENDIF} 
 
{$DEFINE dOCI_ENGLISH} 
//{$DEFINE dOCI_RUSSIAN}
Por esto otro:
Código:
{$DEFINE D7_OR_HIGHER} 
 
{$DEFINE dOCI_ENGLISH}
Por probar que no quede.
Responder Con Cita
  #5  
Antiguo 05-06-2013
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Hola amigo, gracias por la ayuda, ya modifique el archivo DOCI.inc con el contenido. Cuando trato de compilar dOCI7IDesing.bpl obtengo los 4 siguientes errores, mismo que me muestras al tratar de instalar el componente.

Cita:
[dcc32 Error] DynamicArrays.pas(1936): E2251 Ambiguous overloaded call to 'StrPas'
System.SysUtils.pas(11512): Related method: function StrPas(const PAnsiChar): AnsiString;
System.SysUtils.pas(11518): Related method: function StrPas(const PWideChar): string;

[dcc32 Warning] DynamicArrays.pas(1936): W1000 Symbol 'StrPas' is deprecated: 'Moved to the AnsiStrings unit'

[dcc32 Fatal Error] ADataSet.pas(11): F2063 Could not compile used unit 'DynamicArrays.pas'
En dOCI7Runtime al compilarlo o tratar de instalar me marca el error:
Cita:
[dcc32 Error] DynamicArrays.pas(1936): E2251 Ambiguous overloaded call to 'StrPas'
System.SysUtils.pas(11512): Related method: function StrPas(const PAnsiChar): AnsiString;
System.SysUtils.pas(11518): Related method: function StrPas(const PWideChar): string;
En dOCI6 al tratar de compilarlo o de instalar me marca el error.
Cita:
[dcc32 Error] DynamicArrays.pas(1936): E2251 Ambiguous overloaded call to 'StrPas'
System.SysUtils.pas(11512): Related method: function StrPas(const PAnsiChar): AnsiString;
System.SysUtils.pas(11518): Related method: function StrPas(const PWideChar): string;
En todos me marca error, no se cual sea la razon del problema, perdon por mi ignorancia y les agradezco por la ayuda, voy investigar si encuentro algo de esto por google, pero sigo atento al foro, pues me interesa mucho encontrarle una solucion a ellos.
Nuevamente muchas gracia por la ayuda.
Responder Con Cita
  #6  
Antiguo 05-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ya que se ha modificado dOCI.inc para hacerle creer que es un delphi7 entonces deberías seguir los pasos para delphi7:

dOCI7Runtime.dpk need to be compiled first (do not press Install button)
dOCI7Design.dpk need to be compiled AND installed after dOCI7Runtime.dpk.



De todas formas puedes preguntar en la web de ellos por ese problema, que está claro que es por el unicode.
Con un poco de paciencia puedes solucionarlo, sustituyendo string por ansistring, etc.
Responder Con Cita
  #7  
Antiguo 06-06-2013
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Hola amigos, pues ahora ya estoy mas perdido que nunca. Al no tener mucho exito, decidi prestar un Delphi 2010, y instale ZeosLib 7 stable y todo normal, estableci la conexion sin problemas, carge una tabla, un data source y visualize los datos en un DBGrid.

Pero al momento de correr la aplicacion, tengo exactamente el mismo problema que con las otras Librerias, puedo visualizar los datos, pero nada mas, no puedo modificarlos, ni eliminarlos, ni hacer inserts, ni nada. Cambie el usuario de la Base de Datos por System, siempre accediendo a la misma tabla y es el mismo resultado.

Por seguridad trabajo con una cuenta Limitada en el S.O. pero no creo que eso sea el problema, ahora pienso que es problema puramente del S.O. ya que tiempo atras desarrolle aplicaciones con BD en Delphi 2010 y ZeosLib.
Alguien que pueda ayudarme en esto, si necesitas mas informacion con gusto solo me indican.
Utilizo Windows 7 64 Bits (Premium) Cuenta Limitada(no Administrador) del S.O. Oracle 10G, Delphi 2010 y ZeosLib
Desde ya gracias por la ayuda y molestias.
Saludos.
Responder Con Cita
  #8  
Antiguo 06-06-2013
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Hola amigos, gracias por la ayuda y molestias, ya solucione el problema, realmente no di cual era el problema, pero si encontre una solucion adicional y la posteo por si alguien se topa con una situacion similar, la solucion la encontre en un sitio en español, y la traduccion esta hecha con google:

Cita:
1) Instale el motor de base de datos (en el caso de Oracle XE)
2) Instalar el controlador ODBC (Sólo si Oracle no se instala por defecto)
/ / 3 y 4 podrían no aplicarse a Oracle
3) Vaya a Inicio-> Panel de control-> Herramientas administrativas-> Orígenes de datos (ODBC) -> System DSN-> Añadir ..
4) En la lista, seleccione el controlador de Oracle y proceda a completar la información necesaria.
5) Deja un TADOConnection en el formulario y haga clic en el ... para la propiedad ConnectionString.
6) aquí se puede hacer dos cosas, una es para seleccionar el proveedor de ODBC y seleccione la conexión que configuró en 3 y 4, o puede seleccionar el proveedor de Oracle e introduzca los datos del servidor.
7) Eliminar una tabla ADO / consulta en el formulario y enlazarlo a la TADOconnection a través de su propiedad de conexión.
8) Deja un TDatasource en el formulario y enlazarlo a la mesa de ADO / consulta a través de su propiedad Dataset
9) Deja un TDBGrid en el formulario y enlazarlo a la TDatasource a través de su propiedad DataSource.

Esto debería ser suficiente para establecer la conexión. Si todos los datos son correctos y aún no funciona puede que tenga que jugar con la configuración de red de Oracle o de su firewall. No he creado Oracle antes, pero esta es la norma. En el servidor de MSSQL tienes que configurar la forma en que se conecte al servidor (TCP / IP, la corriente de memoria, etc) antes de poder conectarse.
Con esto logre conectarme a Oracle 10g y Delphi XE4, y hacer insercciones, eliminaciones, updates, etc.
Saludos y gracias nuevamente amigos.
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
Validar ingreso de datos en TClientDataSet? ezequiel913 Varios 0 13-10-2011 21:14:21
restringir ingreso de datos!! ezequiel913 Varios 2 28-05-2011 02:34:05
ingreso de datos float _CALI Varios 2 15-01-2010 20:58:15
restringir ingreso de datos ... chileno Varios 0 09-02-2006 16:38:33
Ingreso de datos en campo de tabla? marceloalegre SQL 1 30-07-2005 05:52:53


La franja horaria es GMT +2. Ahora son las 03:59:25.


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