FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Conexión ODBC sin que pida password del servidor
Hola, tengo una aplicación terminada en Delphi 7 conectada a access a traves de un AdoConnection la conexión la hago a traves de ODBC, y la base de datos esta en un servidor, hasta hay todo bien, el problema viene cuando tengo que logarme en el servidor para poder usar mi aplicación.
En el apartado que pone "Escriba la información para iniciar sesion en el servidor" del Adoconection he puesto la contraseña del servidor y el nombre de usuario y le he permitido guardar contraseña. Pruebo la conexión y se conecta,pero, si reinicio el equipo he de logarme antes en el servidor para que mi aplicación funcione, sino me dice que esta abierta en modo exclusivo o no tengo permisos para ver los datos. El servidor es un Nt. Cual puede ser la solución por que, lo que yo quiero es que los usuarios accedan a la base de datos sin poner la contraseña del administrador. Un saludo y gracias por vuestra ayuda. |
#2
|
||||
|
||||
Hola, no se si esto resuelva concretamente tu situación pero fijate que en el ADOConnection tenes una propiedad llamada "LoginPrompt" que por defecto viene como TRUE si la pones en FALSE no aparece el cuadrito pidiendo user y pass.
|
#3
|
|||
|
|||
Gracias Cyrux22,pero, el loginPrompt que tu dices es para logarte en la base de datos.
Lo que a mi me pasa, es que cuando arranco mi aplicación el servidor no me deja acceder a la base de datos, hasta que este logueado en el, espero haber aclarado un poco mejor la cuestión. De todas formas gracias Cyrux22. Un saludo. Última edición por Nbull fecha: 27-12-2005 a las 14:02:07. |
#4
|
|||
|
|||
podria ser...
solo por contestar al vuelo..
segun lo que dices, al ser un servidor NT, creo que en la(s) maquina(s) donde tu aplicación correrá, debes generar un usuario local que tenga permisos de lectura/escritura, sobre la base de datos o carpeta compartida y de igual forma este usuario debe existir en el dominio del en el servidor. Sino en todo caso podrias probar conectar a la base de datos con la propiedad ConnectioString. Ojalá te sirva de algo el comentario. Un saludo Oswaldo Jr
__________________
Todos quieren cambiar el mundo, pero nadie piensa en cambiarse así mismo |
#5
|
|||
|
|||
Hola Chocoslovaco, gracias por tu respuesta,pero, no solucione el problema, la conexion a la base de datos la hago con un AdoConnection a traves de ODBC, le doy la ruta del servidor donde se aloja la base de datos Access, y le pongo tambien la contraseña del servidor para que no se la pida al usuario, dado que el usuario no debe saber la contraseña.
Todo esto funciona, se conecta y mi aplicación funciona bien, pero, el problema es que tengo que ir a la carpeta redes buscar la maquina servidor pincharle y entrar la contraseña, por que sino no me conecta. Mi compañero, me ha dicho que el servidor es un NT y solo tiene licencia para nueve conexiones, y que casi todas estan ocupadas por aplicaciones "más importantes para la empresa" que la que yo he realizado(Aunque la mia no deja de serlo). Como puedo hacer para conectarme al servidor sin que me pida la contraseña de este.Lo que el me ha comentado es que el ODBC del usuario tendria que llamar al alias de la base de datos del ODBC del servidor y que este se encargara de conectarse ya localmente con la base de datos. No se si el ODBC funciona asi o si se puede hacer de otra manera para que mi aplicación no gaste todas las conexiones, ademas son más de nueve los usuarios que van a gastar mi aplicación.¿Como puedo solucionarlo?a ver si hay alguien que me pueda hechar un cable por que llevo dos semanas con esto y no soy capaz. Un saludo forer@s. PD: Feliz 2006 a tod@s y seguir asi que sois la mejor comunidad de internet. |
#6
|
|||
|
|||
Hola NBull, de igual forma Felicidades para ti.
Cita:
Cita:
Cita:
Suerte. Oswaldo Jr
__________________
Todos quieren cambiar el mundo, pero nadie piensa en cambiarse así mismo |
#7
|
|||
|
|||
Gracias por responderme de nuevo Chocoslovaco, pero, mi problema persiste, tengo permisos para acceder a esa carpeta, y la base de datos esta en una carpeta compartida.
Uso componentes ADO, con connection string, pero en vez de usar Microsoft Jet estoy gastando ODBC. En la configuracion del AdoConnection Primero hay una ficha que pone Proveedor hay pongo Drivers ODBC luego viene otra ficha que pone Conexión hay pongo usar cadena de conexión con la siguiente cadena: Código:
DBQ=Z:\cintas.mdb;DefaultDir=Z:\;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access; FILEDSN=C:\Archivos de programa\Archivos comunes\ODBC\Data Sources\cintas.dsn;MaxBufferSize=2048;MaxScanRows=8; PageTimeout=5;SafeTransactions=0; Threads=3;UID=admin;UserCommitSync=Yes; Y pongo permitir guardar contraseña. Pues si yo arranco el ordenador y lo primero que hago es correr mi aplicación, me dice que no puedo abrirla por que no me he autentificado, me voy a redes busco el servidor pincho en el para entrar, pongo la contraseña y veo las carpetas compartidas del servidor. Ahora corro mi aplicación y si que funciona. Mi pregunta es ¿que es lo que hago mal y porque me pide la contraseña? , si yo en la configuracion del ADOConnection la he dejado puesta. Espero que alguien sepa lo que me pasa y me pueda ayudar por que sino me he currado una aplicación que no le vale a mi empresa . Un saludo Forer@s. |
|
|
|