Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Conexión ODBC sin que pida password del servidor (https://www.clubdelphi.com/foros/showthread.php?t=28639)

Nbull 27-12-2005 10:36:10

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.

cyrux22 27-12-2005 12:38:28

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.

Nbull 27-12-2005 12:46:32

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.

Chocoslovaco 30-12-2005 00:25:20

podria ser...
 
solo por contestar al vuelo..:D
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

Nbull 03-01-2006 09:13:45

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 :confused: 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.;)

Chocoslovaco 03-01-2006 19:16:14

Hola NBull, de igual forma Felicidades para ti.:)
Cita:

servidor es un NT y solo tiene licencia para nueve conexiones, y que casi todas estan ocupadas por aplicaciones
No Considero que este sea el problema de la No Conexión, puesto que el soportar 9 conexiones, no aplica para aplicaciones, sino para usuarios que se conecten al dominio. A reserva de que alguien me corrija.

Cita:

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.
como te decia antes, intenta probar creando una conexion de red (persitentente) al equipo o recurso compartido, pues quiero pensar que tu base de datos esta en un recurso compartido(carpeta), y el usuario con el cual te conectas al servidor tenga los permisos sobre el recurso; por lo otro agrega un usuario a tu base de datos que tenga permisos para realizar los cambios que requieras, y deberia de funcionar.

Cita:

si se puede hacer de otra manera
Pues en lugar de usar ODBC, utiliza ADO, con sus correspondientes propiedades, ConnectionString para conectarte a la base de datos


Suerte.
Oswaldo Jr;)

Nbull 10-01-2006 14:00:10

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 donde pone "Escriba la información para iniciar sesión en el servidor" pongo el nombre de usuario y la contraseña que uso para acceder al servidor.
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?:confused: , 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.


La franja horaria es GMT +2. Ahora son las 19:53:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi