FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Servicio con acceso a la red
¡Buenas! Mi primer post, mi primera duda. Espero que me podáis ayudar.
Tengo un servicio escrito con Delphi que necesita tener acceso a las carpetas en red para realizar backups de firebird usando GBAK, pero por mucho que lo intento no soy capaz de encontrar la manera de hacerlo. He probado ha ponerle "NT AUTHORITY\NetworkService" en el atributo de ServiceStartName, pero mas que elevar los permisos de la aplicación, hace que ni siquiera funcione en las carpetas locales. Si alguien sabe como darle los permisos necesarios, o cualquier otra manera de hacerlo funcionar, le estaría eternamente agradecido. ¡Un saludo! |
#2
|
||||
|
||||
xFas,
Cita:
Revisa este link, si es un problema de privilegios quizás se pueda usar en tu proyecto: Cita:
Cita:
Nelson. Última edición por nlsgarcia fecha: 12-07-2013 a las 18:39:25. |
#3
|
|||
|
|||
He intentado utilizar el "runas" al que me haces referencia, por desgracia sin ningún éxito.
Las otras referencias ya las había consultado, (es mas, ¡la pregunta en StackOverflow es mía!). La cosa es que el servicio funciona en las carpetas locales, pero no tiene acceso a las remotas. Gracias por responder tan rápido |
#4
|
||||
|
||||
No entiendo qué quieres hacer, usar gbak, sí, pero ¿hacer un backup de una base de datos en un servidor, desde un cliente?, si es eso, no hace falta tener ningún privilegio ni permiso en el servidor.
|
#5
|
|||
|
|||
No no, el servicio corre en el servidor.
La intención es hacer una copia de seguridad de la base de datos y guardarla en una unidad en red |
#6
|
||||
|
||||
Para eso sólo has de usar el parámetro adecuado en gbak
Cita:
También puedes hacer una búsqueda por los foros, es un tema tratado en diversas ocasiones. |
#7
|
|||
|
|||
Pero para que funcione ese parámetro ¿no tiene que estar instalado firebird en el equipo remoto?
Yo lo que necesito es que el servidor haga un backup de su base de datos, y esta sea almacenada en un equipo de la red que no tiene porque tener firebird. Muchas gracias por la ayuda! |
#8
|
||||
|
||||
Pero para eso sólo has de indicarle la ruta:
gbak -b -t -v -user sysdba -password masterkey localhost:/datos/tubasedatos.fdb 192.168.1.100:/home/backups/elbackupdetubd.fbk gbak -b -t -v -user sysdba -password masterkey localhost:c:\datos\tubasedatos.fdb 192.168.1.100:c:\backups\elbackupdetubd.fbk |
#9
|
||||
|
||||
Lo que ha puesto Casimiro te sirve.
El servidor tendrá Firebird, por tanto ejecutará el gbak, hará la copia y lo enviará a otro ordenador remoto. En el remoto no tienes que instalar Firebird, bien puede ser una carpeta, otro ordenador, o un ftp.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#10
|
|||
|
|||
Sigue sin funcionarme, os dejo código para que podáis ver lo que estoy intentando
|
#11
|
||||
|
||||
Los directorios que tengan espacios debes escribirlos entre comillas, ejemplo:
"c:\Archivos de programa\Firebird\bin\gbak" -b -t -v -user sysdba -password masterkey "localhost:c:\mis datos\basedatos.fdb" 192.168.1.100:c:\backups\elbackupdetubd.fbk |
#12
|
|||
|
|||
Lo se, he separado "LOCALHOST: DATABASE" para que no me saliese un , ¡perdón!
|
#13
|
||||
|
||||
No, me refiero en la ruta: "c:\Archivos de programa\firebird...." debe ir entre comillas porque tiene espacios.
o sea, algo así como: QuotedStr(la ruta) |
#14
|
|||
|
|||
Si le pongo el QuotedStr así
no encuentra el archivo. Ademas, estoy seguro de que el error no viene de por ahí, ya que si que hace los backups en carpetas locales. Solo da problemas con carpetas en red |
#15
|
||||
|
||||
Hola xFas.
Como te esta indicando Casimiro es la forma correcta de llamar a gbak, seguramente el problema este en la llamada a ShellExecute o exista alguna ruta incorrecta. De este modo me funciona sin problemas: Tomá en cuenta que el ejemplo está basado en Firebird 2.5 para tomar la ubicación de gbak Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#16
|
||||
|
||||
Pues si tiene espacios es seguro que no funciona.
EDITO: ecfisa te ha puesto otro ejemplo. |
#17
|
|||
|
|||
He probado a hacerlo como me ha sugerido ecfisa, y tampoco. También he puesto las rutas absolutas entrecomilladas, y tampoco. Aun así, y a riesgo de parecer pesado, se que encuentra el archivo de GBAK porque me crea las copias de seguridad cuando le indico que quiero guardarlas en local.
¿Empiezo a pensar en tirar el ordenador por la ventana? ¡Gracias por el interés! |
#18
|
||||
|
||||
Puedes dar más información, por ejemplo: qué no te funciona, qué error sale, qué estás poniendo exactamente en los valores de las variables, etc...
|
#19
|
||||
|
||||
xFas,
Cita:
1- ¿Puedes publicar el Print Screen del error al hacer el backup con GBAK?. 2- ¿Puedes publicar el código completo y las variables al momento del error?. 3- ¿Si haces el backup en una carpeta remota que no tenga espacios en blanco funciona?. 4- ¿Tienes los accesos requeridos para hacer backup en las carpetas remotas?. 5- ¿Si ejecutas el comando de GBAK manualmente a la carpeta remota funciona?. Revisa estos links: Cita:
Nelson. Última edición por nlsgarcia fecha: 15-07-2013 a las 19:58:12. |
#20
|
|||
|
|||
Vale, no se que es lo que he tocado, pero ahora funciona perfectamente en el modo debug de delphi. El problema da al ejecutarlo compilado como servicio, que no puede acceder a las carpetas de red, así que volvemos a la pregunta inicial. ¿Como le doy permisos al servicio para que pueda acceder a las carpetas de red? Os dejo todo el evento "OnExecute" para que le echéis un vistazo:
Muchas gracias por todas las respuestas! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Servicio Web | andresenlared | Varios | 1 | 21-06-2011 19:50:50 |
Como arrancar o parara un servicio en funcion de otro servicio ?? | QuarkBcn | API de Windows | 12 | 15-06-2011 14:46:11 |
Servicio Web | Ricardo León | Internet | 6 | 07-10-2005 18:29:11 |
Servicio Web | Ricardo León | Internet | 1 | 06-10-2005 18:28:16 |
Servicio NO-IP | StartKill | Varios | 1 | 29-03-2005 00:18:30 |
|