Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-02-2005
Avatar de PauSem
PauSem PauSem is offline
Registrado
 
Registrado: feb 2005
Posts: 4
Poder: 0
PauSem Va por buen camino
Unhappy Apertura BD Interbase y Terminal Service

Hola, tengo una aplicación hecha en Builder 6 que usa como gestor interbase 6.5 (el que viene con builder); la aplicación utiliza componentes de la solapa InterBase (IBDatabase, IBTransaction...), no uso BDE en ningún momento. Esta aplicación permite varias ocurrencias de la misma en un mismo equipo, todas atacan a la misma BD y funciona bien. Si yo quiero llevar mi aplicación a otro pc con WinXP por ejemplo, debo instalar InterBase 6 y con la configuración que éste trae por defecto, funciona todo bien.

Ahora bien, tengo un servidor con Win 2003 Server (dedicado a Terminal Services) en el que pongo la aplicación e instalo InterBase 6 con la configuración por defecto. Si entro como administrador y ejecuto la aplicación me da error "Unavailable Database". En Panel de Control -> IBManager me dice que IBServer esta corriendo. Pero para que funcione tengo que abrir un IBConsole, me avisa que IBServer no está corriendo, lo activo desde ahi (coloca un icono de notificacion en la barra de tareas) y la aplicación funciona. Como yo quiero que al conectarme IBServer esté siempre activo, cambio en el IBManager la casilla de verificación para que no lo corra como servicio. De esta forma me pone un icono distinto en la barra de tareas y siempre que entro, está conectado.
Cuando creo dos usuarios, para poder entrar al servidor, con los privilegios de "usuarios" y "usuarios escritorio remoto", entro en el servidor y puedo ver el icono de IBServer (el que muestra cuando no esta inicado como servicio). Pero solamente puede trabajar con la aplicación el primero de los usuarios que haya entrado, al segundo le da el siguiente mensaje de error:
"Operating system directive CreateFile failed
La operación solicitada no se puede realizar en un archivo con una sección asignada a un usuario abierta"
He habilitado permisos de lectura y escritura en la carpeta donde está la aplicación y la base de datos con extenxión gdb, he asignado distintos grupos de usuarios y en "administración de equipos", "servicios y aplicaciones", "servicios" he cambiado el tipo de inicio de sistema ("iniciar sesión como...") a servicio de red en lugar de sistema local (como viene por defecto) para los servicios IBGuardian e IBServer, y varias combinaciones sobre lo mismo, pero no he conseguido nada.

Gracias por adelantado al que sea capaz de leer el rollo y echarme una mano.

Última edición por PauSem fecha: 19-02-2005 a las 18:50:02.
Responder Con Cita
  #2  
Antiguo 23-02-2005
Avatar de PauSem
PauSem PauSem is offline
Registrado
 
Registrado: feb 2005
Posts: 4
Poder: 0
PauSem Va por buen camino
Lo he solucionado. Solo basta con agregar a la cadena de conexion de la propiedad DatabaseName del componente IBDatabase 'localhost', es decir, si la bd se encuentra en C:\MiAplicacion\MiBD.gdb, quedaria lo siguiente:

localhost:C:\MiAplicacion\MiBD.gdb

Espero que a alguien le sea de ayuda.
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


La franja horaria es GMT +2. Ahora son las 09:07:12.


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