![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Acceder a una base de datos
Hola a todos. Decir que soy nuevo en esto, aunque tengo amplia experiecia de programación en visual foxpro, asp...
La cuestión es que a la empresa de un amigo mio le hiciero un programa en delphi que correo bajo una bd interbase (version 1.0 creo) El problema es que esta base de datos va muy pero que muy lenta. Por ejemplo, para crear la facturación del mes (unos 8000 registros) tarda unas ¡12 horas! el programa. Resulta que la empresa que le hizo el programa cerró, y me dijeron si podía echarle yo un vistazo para intentar mejorar algo el rendimiento. La base de datos .gdb ocupa 180 megas. Como no tengo mucha idea del tema en principio quería conectarme a la bd y probar a ejecutar comandos sql. Encontré una utilidad que debe ser para ello InterBase Windows ISQL, pero al intentar conectarme a la bd me da error, en el programita elijo Local Engine, database le doy a browse y cojo el .gdb, y en usuario, por lo que leido por ahí pongo SYSDBA y en contraseña masterkey pero me da el siguiente error: Statement failed, SQLCODE = -902 Your user name and password are not defined. Ask your database administrator to set up an InterBase login. Entiendo que la contraseña o el usuario no son correctos, supongo que es posible que la hayan cambiado. Mis preguntas son: 1- ¿Tengo alguna forma de acceder si han cambiado la contraseña, o restablecerla a su valor predeterminado? 2- ¿El interbase es lento? ¿Os parece normal que se tarden tantas horas (12) en procesar 8000 registros? Gracias y saludos. |
#2
|
|||
|
|||
Ni de coña se pueden tardan 12 horas en crear 8000 registros, 8000 registros los crea interbase en unos segundos.
Hay que tener el codigo fuente de ese programa y mirar que hace, o muy mal esta hecho o algo mas esta haciendo para que tarde tanto. Otra cosa que deberias probar es a hacer un backup y una restauracion de la base de datos, esto seguramente hara que la base de datos ocupe menos y que ademas vaya un poco mas rapido, pero aun asi, la principal causa de lentitud deberia ser o que el codigo del programa hace algo que no esta nada optimizado o bien hecho, o que se han olvidado de crear los indices adecuados en las tablas para las operaciones que se hagan. La diferencia entre acceder a las tablas con o sin indices pueden abismal, una cosa que puede tardar 1 segundo con indices podria tardara minutos u horas sin ellos. Los usuarios y contraseñas no forman parte de las bases de datos sino del servidor de interbase en si, de modo que si instalas interbase en otro ordenador y copias el archivo de la base de datos a este nuevo equipo, podras abrirla con las claves por defecto, SYSDBA y masterkey. No te digo que cambies o resetes la contraseña en el servidor original porque lo mas probable es que asi el programa que estais usando deje de funcionar. De modo que para las pruebas iniciales lo mejor es que lo hagas en otro equipo. Saludos |
#3
|
|||
|
|||
Cita:
Podrias poner la sentencia que utilizas y que produce el error??? |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
acceder base datos access | mikontalo | C++ Builder | 4 | 29-04-2006 06:54:19 |
Acceder a form modal desde módulo de datos | jcheco | Varios | 3 | 31-01-2006 17:18:22 |
como acceder a datos de la RAM | friendspark | API de Windows | 1 | 11-11-2005 13:36:00 |
como acceder a una base de datos aleatoriamente? | slat | Conexión con bases de datos | 1 | 27-06-2004 16:50:54 |
Acceder a una base en paradox desde internet | MeTaL | Conexión con bases de datos | 0 | 02-07-2003 18:05:53 |
![]() |
|