Foros del Web » Programando para Internet » PHP »

FAQ de Base de Datos

Estas en el tema de FAQ de Base de Datos en el foro de PHP en Foros del Web. FAQs de Base de Datos En varios subforos ya lo hicieron, así que por aquí también debemos hacerlo... Espero la colaboracion de todos los expertos: ...

  #1 (permalink)  
Antiguo 25/11/2002, 10:21
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
FAQ de Base de Datos (BBDD)

FAQs de Base de Datos

En varios subforos ya lo hicieron, así que por aquí también debemos hacerlo... Espero la colaboracion de todos los expertos:

Por el momento solo he subido unos cuantos de Oracle pero espero la ayuda de todos ustedes.

Faq de Oracle (por el momento)



Espero sus aportaciones
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***

Última edición por Linterns; 20/09/2005 a las 17:15
  #2 (permalink)  
Antiguo 25/11/2002, 18:37
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: PostgreSQL

Pregunta: ¿Existen controladores ODBC para PostgreSQL?

Respuesta: Hay dos controladores ODBC disponibles, PostODBC y OpenLink ODBC.

PostODBC se incluye con la distribución (http://www.insightdist.com/psqlodbc)

OpenLink ODBC puede encontrarse en http://www.openlinksw.com/. Funciona con los programas clientes ODBC, por lo que puede tener disponible un driver ODBC para PostgreSQL ODBC para cualquier plataforma cliente (Win, Mac, Unix, VMS).
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***

Última edición por Linterns; 25/11/2002 a las 18:40
  #3 (permalink)  
Antiguo 25/11/2002, 18:39
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: PostgreSQL

Pregunta: ¿Que herramientas hay disponibles para conectar PostgreSQL con páginas Web?

Respuesta: Para integración con Web, PHP es una excelente interfase (http://www.php.net/)
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #4 (permalink)  
Antiguo 25/11/2002, 18:42
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: PostgreSQL

Pregunta: Al iniciar postmaster, genera un error IpcMemoryCreate errors3

Respuesta: Es necesario agrandar la memoria compartida disponible en el núcleo. La cantidad exacta que se necesita depende de lau arquitectura y de cuantos buffers y procesos backend se configuren para ejecutar postmaster. Para muchos sistemas, con el número por defecto de buffers y procesos, necesitas un mínimo de 1MB.

APORTADO POR: Bruce Momjian
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***

Última edición por Linterns; 26/11/2002 a las 09:20
  #5 (permalink)  
Antiguo 25/11/2002, 18:44
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: PostgreSQL

Pregunta: ¿Qué son los ficheros pg_psort.XXX en mi directorio de base de datos?

Respuesta: Hay ficheros temporales generados por el ejecutor de consultas. Por ejemplo, si una ordenación necesita para realizarse satisfacer un ORDER BY, y la ordenación requiere más espacio del que el parámetro -S permite, entonces los ficheros temporales son creados para contener los datos extras.

Los ficheros temporales se deberían borrar automáticamente, pero podría ser que no si durante una ordenación el proceso falla. Si no hay transacciones ejecutándose en este mismo momento, es seguro borrar los ficheros pg_tempNNN.NN.
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #6 (permalink)  
Antiguo 25/11/2002, 18:48
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: PostgreSQL

Pregunta: ¿Cómo crear un campo serial/autoincremento?

Respuesta: PostgreSQL soporta tipos de datos SERIAL. Automáticamente crea una secuencia e índice en la columna. Por ejemplo, esto...

CREATE TABLE person (
id SERIAL,
name TEXT );


CREATE SEQUENCE person_id_seq;
CREATE TABLE person (
id INT4 NOT NULL DEFAULT nextval('person_id_seq'),
name TEXT );

CREATE UNIQUE INDEX person_id_key ON person ( id );
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #7 (permalink)  
Antiguo 25/11/2002, 18:50
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: Oracle 9i

Pregunta: ¿Como respaldo mis Datos ?

Respuesta: Crea un EXPORT de dichos datos..
Ej:

EXP system/mipassword@mibase file=expdtos.dmp log=expdtos.log owner=usuario grants=y indexes=y rows=y triggers=y constraints=y

donde

mipassword=es la contraseña asignado al Administrador de la base de Datos
mibase= Nombre asignado de la BD
expdtos.dmp= Nombre que deseas hacer para el export
exdtos.log= Define el script del export
usuario= Esquema a resguardar

Si desea hacer un respaldo completo de toda la base de datos y no solamente de un esquema especifico cambiar la sintaxis "owner-usuario" por "full"
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #8 (permalink)  
Antiguo 25/11/2002, 18:52
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: Oracle 9i

Pregunta: ¿Como Determino las lectura/escritura de la BD?

Respuesta:
Ejecuta la siguiente sintaxis:

SELECT substr(name,1,7) Nombre,
sum(Phyrds) Lectura,
sum(Phywrts) Escritura,
sum(phyrds) + sum(phywrts) Total
FROM v$datafile df, v$filestat fs
WHERE df.file# = fs.file#
GROUP by substr(name,1,7)
/

NOTA: Esta consulta utiliza V$filestat que es un objeto dinámico cuyos valores se ponen a cero cuando la base de datos es desmontada y restaurada nuevamente.
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #9 (permalink)  
Antiguo 25/11/2002, 18:53
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: Oracle 9i

Pregunta: Compilar objetos invalidos

Respuesta: levantar una sesion de PLus y conectarse con el Owner propietario de los objetos:


set head off
set pagesize 0
set echo off
set verify off
set feedback off
set termout off

spool recomp_objects.sql

select 'alter '||
decode(object_type, 'PACKAGE BODY', 'PACKAGE',
object_type) || ' ' ||
owner||'.'||
object_name||' compile' ||
decode(object_type, 'PACKAGE BODY', ' BODY') || ';'
from dba_objects
where status = 'INVALID'
and object_type in ( 'PACKAGE',
'PACKAGE BODY',
'PROCEDURE',
'VIEW',
'TRIGGER' )
/

spool off
set feedback on
set echo on
set termout on
@recomp_objects.sql
spool off
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #10 (permalink)  
Antiguo 25/11/2002, 21:08
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años, 7 meses
Puntos: 7
¿Cómo crear un campo serial/autoincremento?

BD: MySQL
Respuesta:
Create table tablaEjemplo(campo_id int not null auto_increment... primary key(campo_id))

BD: SQLServer
Respuesta:
Create table tabla_ejemplo(campo_id int identity... primary key(campo_id))
  #11 (permalink)  
Antiguo 26/11/2002, 06:26
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 11 meses
Puntos: 17
Tema: MySQL

Pregunta: ¿Cómo era la sintaxis del comando SELECT? ¿Como tenía que poner el ORDER BY? ...

Respuesta:

Para aprender y recordar la sintaxis soportada por MySQL, así como los comandos, las funciones, los tipos de tabla, tipos de bases de datos, etc. hay que consultar el manual de MySQL
__________________
M a l d i t o F r i k i
  #12 (permalink)  
Antiguo 26/11/2002, 06:31
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 11 meses
Puntos: 17
Tema: MySQL

Pregunta: ¿Como hago para ver si tengo registros repetidos en una tabla?

Respuesta:

Código:
SELECT campo,Count(campo) FROM tabla GROUP BY campo HAVING Count(campo) > 1
__________________
M a l d i t o F r i k i
  #13 (permalink)  
Antiguo 26/11/2002, 06:32
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 11 meses
Puntos: 17
Tema: MySQL

Pregunta: ¿Cómo selecciono un registro al azar?

Respuesta:

Código:
SELECT campos FROM tabla ORDER BY Rand() LIMIT 1
__________________
M a l d i t o F r i k i
  #14 (permalink)  
Antiguo 26/11/2002, 09:06
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: Interbase

Pregunta: ¿Cómo obtengo la fecha del sistema con Interbase?

Respuesta:

Consulta
SELECT current_time FROM RDB$Database

Resultado
10:55:00

Consulta
SELECT current_date FROM RDB$Database

ó

SELECT cast('TODAY' as date) FROM RDB$Database

ó

SELECT cast('now' as date) FROM RDB$Database

Resultado
26/11/2002


Consulta
SELECT current_timestamp FROM RDB$Database

Resultado
26/11/2002 10:56:18

APORTADO POR: mauriciolangea
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***

Última edición por Linterns; 26/11/2002 a las 09:19
  #15 (permalink)  
Antiguo 26/11/2002, 09:44
Avatar de mauriciolangea  
Fecha de Ingreso: enero-2002
Mensajes: 59
Antigüedad: 22 años, 11 meses
Puntos: 0
Interbase

Tema: Interbase

Pregunta: ¿Como concateno con Interbase?

Respuesta:

SELECT CAMPO1||' '||CAMPO2||' '||CAMPO3 FROM TABLAX
  #16 (permalink)  
Antiguo 26/11/2002, 15:03
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 22 años, 4 meses
Puntos: 3
BD: MySQL
Pregunta: ¿Porqué no pasan las variables por la URL?

Respuesta:


Uno de los problemas más frecuentes últimamente es que muchos usuarios no consiguen pasar las variables de una página a otra.

El motivo más frecuente es que la opción "register globals" esté desactivada en la configuración de php. Por problemas de seguridad, a partir de la versión php 4.2 esta opción viene desactivada en la opción por defecto.

Así que la manera "tradicional" de pasar variables ya no funciona y hay que utilizar el nuevo estándar. Si éste es tu problema, tienes dos opciones

a) activar register_globals (no recomendado por los gurús)

b) Seguir el nuevo standard, en el que hay que utilizar $_GET[$variable] para recoger las variables.


Así un ejemplo:

Archivo 1º hola.html

<a href="hola2.php?nombre=tomatoma">

Archivo 2º hola.php

$nombre = $_GET[$nombre];
echo $nombre;
__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa

Última edición por t0m|ta; 26/11/2002 a las 15:09
  #17 (permalink)  
Antiguo 26/11/2002, 15:04
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 22 años, 4 meses
Puntos: 3
BD: MySQL
Pregunta: ¿Cuando lanzo una query con PHP ¿Cómo evito los mensajes de error por defecto de Mysql?

Respuesta:

Antes de la función añade una arroba:

Ejemplo: @mysql_query($sql);
__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa
  #18 (permalink)  
Antiguo 26/11/2002, 15:05
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 22 años, 4 meses
Puntos: 3
BD: MySQL
Pregunta: ¿Como consigo que MySQL me devuelva los registros en orden inverso al que fueron insertados?

Respuesta:

Añadiendo un ORDER BY DESC

Código PHP:
SELECT FROM nombre_tabla ORDER BY nombre_columna DESC 
__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa
  #19 (permalink)  
Antiguo 26/11/2002, 15:07
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 22 años, 4 meses
Puntos: 3
BD: MySQL
Pregunta: ¿Cómo limito el número de registros que me devuelve mysql?

Respuesta:

Utilizando LIMIT

Ejemplo:

SELECT * FROM nombre_tabla ORDER BY nombre_columna DESC LIMIT n;

Para conseguir los siguientes 5

SELECT * FROM nombre_tabla ORDER BY nombre_columna DESC LIMIT m, n;

Con esto especificas que te devuelva n registros empezando desde el registro m.
__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa
  #20 (permalink)  
Antiguo 26/11/2002, 15:13
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: Oracle 9i

Pregunta: Como importar datos desde un archivo de texto

Respuesta: LOAD DATA
INFILE *
INTO TABLE aqui_la_tabla
APPEND
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED '"'
TRAILING NULLCOLS
(nombre, apellido, nacimiento date(10) 'MM/DD/YYYY')
BEGINDATA
JUAN JOSE|MENDEZ|15/08/1970
MARIA|HERNANDEZ|30/06/1945

EN DONDE:
Aqui_la_tabla: es la tabla donde deseas importar los datos.
nombre,apellido, nacimiento: los campos que vas a insertar.

este archivo lo guardas con una extension CTL y luego desde <oracle_home>\bin tecleas lo siguiente:

sqlldr miusuario/mipasword@mibase personas.ctl rows=10 errors=30000

en donde:
miusuario: Usuario de la Instancia
mipassword: Password asignado
mibase: Nombre de la base de Datos que estas utilizando
personas.ctl: nombre que le diste al archivo que antes era .txt
rows=10 : Significa que cada 10 registros ira haciendo COMMIT
errors=30000 : Significa el numero de errores que te puede soportar

Esto te generara dos archivos... uno .log y uno .bad ... El primero te muestra si se migraron bien o no los datos y el segundo te muestra los archivos que no fueron insertados en la base de datos y te muestra ademas cual fue el error.

NOTA: En este caso los archivos los tengo separados por "|"... si tu los tienes separados por "," o por un tabulador u otro caracter especial tienes que decirle en la parte FIELDS TERMINATED BY '|' OPTIONALLY
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #21 (permalink)  
Antiguo 26/11/2002, 15:14
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
BD: Oracle 9i

Pregunta: Como determinar si un BLOB se encuentra vacio u ocupado

Respuesta: Puedes crear un procedimiento y ejecutarlo desde una sesion de PLUS

PROCEDURE Blob_Size (myC1 in varchar2) IS
b_LOB1 BLOB;
bSize NUMBER;
CURSOR Cs1 IS
SELECT cml_archivo
FROM mitabla
WHERE campo1= myC1;
BEGIN
OPEN cs1;
Fetch Cs1 INTO b_LOB1;
bSize := DBMS_LOB.GetLength(b_LOB1);
DBMS_OUTPUT.PUT_LINE(bSize);
END;
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #22 (permalink)  
Antiguo 26/11/2002, 15:17
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 11 meses
Puntos: 17
BD: MySQL

Pregunta: ¿Cómo puedo concatenar valores en SELECT, INSERT, UPDATE...?

RESPUESTA

Usando Concat(valor1, valor2..., valorN)

Puedes concatenar los valores contenidos en campos:

SELECT CONCAT(campo1, campo2) as texto FROM tabla

Concatenar textos:

SELECT CONCAT("H", "o", "l", "a") as Hola

Y concatenar valores contenidos en campos y textos:

SELECT CONCAT(campo1, " y ", campo2) FROM tabla
__________________
M a l d i t o F r i k i
  #23 (permalink)  
Antiguo 26/11/2002, 15:21
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 11 meses
Puntos: 17
BD: MySQL

Pregunta: ¿Como selecciono partes de un campo?

Respuesta:

Usando SUSBTRING(), LEFT() y RIGHT().

Que queremos seleccionar el principio del campo:

SELECT RIGHT(fecha, 10) FROM tabla

> 2002-11-26

Que queremos seleccionar el final del campo:

SELECT LEFT(fecha, 8) FROM tabla
__________________
M a l d i t o F r i k i
  #24 (permalink)  
Antiguo 26/11/2002, 15:26
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 11 meses
Puntos: 17
BD: MySQL

Pregunta: ¿Cómo puedo contar registros?

Respuesta

Usando Count().

Esto nos puede servir para saber cuantos registros hay en una tabla:

SELECT Count(*) FROM tabla

Para saber cuantos registros hay en una tabla que cumplan una condicion:

SELECT Count(*) FROM tabla WHERE campo LIKE '%hola%'

Para contar los registros que hemos agrupado usando GROUP BY:

SELECT Day(fecha) as dia,Count(fecha) FROM tabla GROUP BY dia

> 1| 4
> 2| 3
> 3| 14
> 4| 5
__________________
M a l d i t o F r i k i
  #25 (permalink)  
Antiguo 27/11/2002, 05:58
Avatar de mauriciolangea  
Fecha de Ingreso: enero-2002
Mensajes: 59
Antigüedad: 22 años, 11 meses
Puntos: 0
Interbase

Tema: Interbase

Pregunta: ¿Como se usa la función extract?

Respuesta:

El operador EXTRACT te permite la devolución de diferentes partes de un valor TIMESTAMP. El operador EXTRACT no hace distinción entre dialectos cuando está formateando o devolviendo la información.


select extract (year from timestamp_fld) from table_name;
=======
1999

select extract (year from timestamp_fld) from table_name;
=======
1999

select extract (month from timestamp_fld) from table_name;
=======
6

select extract (day from timestamp_fld) from table_name;
=======
25

select extract (minute from timestamp_fld) from table_name;
=======
24

select extract (second from timestamp_fld) from table_name;
============
35.0000

select extract (weekday from timestamp_fld) from table_name;
=======
5

select extract (yearday from timestamp_fld) from table_name;
=======
175

select extract (month from timestamp_fld) ||
'-' || extract (day from timestamp_fld) ||
'-' || extract (year from timestamp_fld) from table_name;
====================
6-25-1999
  #26 (permalink)  
Antiguo 27/11/2002, 06:08
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 11 meses
Puntos: 17
BD: MySQL

Pregunta: ¿Cómo recupero el valor más alto (o más bajo) de un campo?

Respuesta:

Usando Max() o Min()

Temos la siguiente tabla:

id | Nombre
1 | Juan
2 | Alberto
3 | Pedro
4 | María
5 | Paco
6 | Isabel
7 | Jorge

SELECT Max(id) FROM tabla
> 7

SELECT Min(id) FROM tabla
> 1
__________________
M a l d i t o F r i k i
  #27 (permalink)  
Antiguo 27/11/2002, 09:32
Avatar de mauriciolangea  
Fecha de Ingreso: enero-2002
Mensajes: 59
Antigüedad: 22 años, 11 meses
Puntos: 0
Interbase

Tema: Easysoft ODBC para Interbase

Pregunta: Como me conecto a un servidor Interbase remoto vía TCP?

Respuesta

En la configuración DSN incluye el nombre de la máquina, por ejemplo:

nombre_maquina:c:\ruta\al\archivo\basedato.gdb

También puedes colocar la dirección IP de la máquina, ejemplo:

ip_maquina:c:\ruta\al\archivo\basedato.gdb
  #28 (permalink)  
Antiguo 10/12/2002, 12:34
Avatar de mauriciolangea  
Fecha de Ingreso: enero-2002
Mensajes: 59
Antigüedad: 22 años, 11 meses
Puntos: 0
Interbase

Tema : Interbase

Pregunta : ¿Como evito la corrupción de datos en la versión de Interbase para Windows?

Respuesta :

Para evitar que tu base de datos InterBase o FireBird se corrompa al resetearse tu computador o al interrupirse inesperadamente el fluido eléctrico en cualquier ambiente Windows (desde Win95 hasta WinXP), debes configurar el modo de escritura de InterBase a Modo Sincrónico. ¿Que quiere decir esto? muy fácil, InterBase utiliza para escribir los cambios realizados en la base de datos 2 modos de escritura: Asincróico y Sincrónico.

El Modo Asincrónico escribe los cambios realizados en tu base de datos en un bufer y es el sistema operativo quien decide cuando lo volca a disco, a diferencia de este modo, el modo "Sincrónico" escribe de una vez al disco y evita pasar por el bufer del sistema operativo. El error que devuelve InterBase al dañarse un archivo de Interbase es el Siguiente:


Error - I/O error for file "C:\test\test.gdb"
Error while trying to open file
unknown Win32 error 3


Para evitar este error debes configurar tu base de datos a modo de escritura "Sincrónico" utilizando el comando de consola GFIX:


gfix -write sync -user sysdba
-password masterkey c:\test\test.gdb


Cabe señalar, que esto equivale a colocar el comando Forced Write como Enabled o "ON" en IBConsole o en IBExpert.

Última edición por mauriciolangea; 30/04/2006 a las 16:35
  #29 (permalink)  
Antiguo 10/12/2002, 12:46
Avatar de mauriciolangea  
Fecha de Ingreso: enero-2002
Mensajes: 59
Antigüedad: 22 años, 11 meses
Puntos: 0
Interbase

Tema : Interbase

Pregunta : ¿Porqué en Windows Me y XP Interbase funciona lento?

Bueno, los archivos *.gdb están incluidos en una lista denominada filelist.xml. Esta lista pertenece a un sistema denominado SFP o "System File Protection" y al SR o "System Restore".

Es debido a ésto que cada vez que te conectas a una base de datos InterBase, el SFP hace una copia de seguridad del fichero *.gdb. Imagina esto en una base de datos de 100Mb o más.

Para evitar esto, se aconseja cambiar la extensión de tú base de datos a *.fdb para FireBird u otra extensión para InterBase, se podría utilizar la extensión *.mdf de MS-SQLServer para asegurar que no van a haber problemas con extensiones.

Tamboén se podría colocar la Base de Datos con extensión *.gdb en la carpeta "Mis Documentos", ya que ahí no llega el SFP.
  #30 (permalink)  
Antiguo 07/01/2003, 13:41
Avatar de mauriciolangea  
Fecha de Ingreso: enero-2002
Mensajes: 59
Antigüedad: 22 años, 11 meses
Puntos: 0
Interbase

Tema : Interbase

Pregunta : ¿Como conecto ASP con Interbase?

Respuesta

Lo primero que debes hacer (Asumiendo que tienes instalado el driver ODBC de Easysoft) es agregar en el archivo GLOBAL.ASA, la siguiente línea ...

Application("ConexionInterbase") = "{DRIVER=Easysoft IB6 ODBC;DSN=employee;UID=sysdba;PWD=masterkey;"

Después crea una página EMPLOYEE.ASP y agregale el siguiente código ...

<%
set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open Application("ConexionInterbase")

Set rs = Server.CreateObject("ADODB.Recordset")

SQL = "select first_name||' '||last_name name from employee"
rs.Open SQL, oConn

If rs.EOF then
%>
<FONT face="Verdana" size="1">
<%
Response.Write("No encontró registros ...")
%>
</FONT>
<%
Else
Do Until rs.EOF
%>

<table border="0" width="100%">
<tr>
<td width="100%">
<font face="Verdana" size="1">
<%=ucase(rs.Fields("name").Value)%>
</font></td>
</tr>
</table>
<%
rs.movenext
Loop

rs.Close
oConn.Close
set rs = nothing
set oConn = nothing
End If
%>

Etiquetas: dbs, faq
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 25 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 16:51.