Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-12-2012
Guti13 Guti13 is offline
Miembro
 
Registrado: jun 2006
Posts: 35
Poder: 0
Guti13 Va por buen camino
Base de Datos y Servicios Windows

Buenas tardes a todos he desarroladon un Servicio Windows en Delphi 7 con un TTimer que cuando e lanza el evento Execute debe conectar son una Base de Datos, usando BDE, en SQL Server 2012 mediante ODBC con driver SQL Server Native Client 11.0. Pues bien cuando se ejecuta en el registro de eventos del sistema aparece un error cuyo mensaje es "Unknown Database". Si este mismo código lo saco a un Winforms funciona correctamente. El entorno de ejecución es un Windows 7 Profesional y la base de datos está en local. Lo he intentado también mediante ADO en vez de BDE y ma da exactamente el mismo error. ¿Que puedo estar haciendo mal?, Muchas gracias a todos con antelación por vuestra ayuda.
Responder Con Cita
  #2  
Antiguo 23-12-2012
Guti13 Guti13 is offline
Miembro
 
Registrado: jun 2006
Posts: 35
Poder: 0
Guti13 Va por buen camino
Me habéis inspirado

Vaya ha sido escribir el hilo e inspirarme, gracias por ello. Os cuento la solución por si alguno os encontráis con el mismo problema. Mi primer error fué crear un ODBC en DSN de usuario, cuando debe ser creado en DSN de Sistema. Por ello, cuando el código lo ejecutaba como Winforms, funcionaba ya que era yo, el usuario creador del ODBC, el que ejecutaba la conexión, cuando se ejecuta un servicio de Windows el usuario que lo ejecuta es SYSTEM. Bien así de todos modos no se acababa el problema ya que todos sabemos que los señores de Microsoft han montado un pequeño lío mas con los ODBC. Cuando ejecutas el administrador de origenes de datos desde el panel de control se ejecuta el odbcad32.exe situado en System32 (primer lío este administrador es el de 64 bits). Eso sí, todos los orígenes que defina aquí como DSN de usuario tendrán su réplica en 32 bits, contrariamente a lo que pasa con las DSN de sistema que no replica. Pare definir una conexión ODBC de 32 bits como DSN de sistema debes ejecutar manualmente el odbcad32.exe situado en Syswow64 (otro lío). Una vez hecho esto todo funciona sin problemas. Bueno espero haber sido claro sino estoy a vuestra disposición. Un saludo a todos y feliz navidad
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Servicios de Windows erickahr Windows 1 31-05-2010 18:09:39
Servicios en Windows sancarlos API de Windows 10 06-11-2008 12:44:40
Servicios de Windows Eklypsex API de Windows 3 31-10-2008 19:30:13
Servicios de Windows jocey API de Windows 13 23-09-2008 13:06:01
problema con base de datos + windows jdcamilo Varios 5 27-05-2007 01:23:35


La franja horaria es GMT +2. Ahora son las 09:14:13.


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