Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Apertura BD Interbase y Terminal Service (https://www.clubdelphi.com/foros/showthread.php?t=18693)

PauSem 19-02-2005 18:47:14

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. :D

PauSem 23-02-2005 22:00:17

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.


La franja horaria es GMT +2. Ahora son las 08:17:14.

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