Problema con Asp, IIS, Sql Server

Gracias por atender mi pregunta
Mi problema es el siguiente:
Soy estudiante de Desarrollo de aplicaciones informáticas, uso windows xp professional con sistema de archivos NTFS y programo en ASP (VbScript) sobre SQL SERVER en el VISUAL INTERDEV, pero me ocurre que después de crear la BD en SQL SERVER soy incapaz de hacer una consulta de ASP a una tabla de dicha BD (en general no doy conectado con SQL SERVER) porque me da un error de autentificación:
HTTP 500.100. Error interno del servidor: error de ASP
Servicios de Internet Information Server
Información técnica (para personal de soporte técnico)
Tipo de error:
Microsoft OLE DB Provider for SQL Server (0x80040E4D)
Error de inicio de sesión del usuario 'YAGO\IUSR_YAGO'.
En el IIS le he puesto que permita el acceso anónimo (por lo que automáticamente me pone este nombre de usuario -> yago es el nombre del equipo) y tengo señalado también lo de que IIS controle las contraseñas. Sobre la conexión a SQL SERVER tengo la siguiente connectionstring:
AdoCn.Open("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BDPrueba;Data Source=YAGO")
¿Cuál es el problema? ¿Podrías ayudarme?
Gracias
3

3 respuestas

Respuesta
1
Me parece que esos permisos los tenés que asignar en el SQL Server.
En Sql server tengo la identificación del dominio
De todas formas ya lo he solucionado, la razón del fallo era que ese usuario no lo tenia en SQl server y por lo tanto no podía conectar con el, aun así ahora tengo otro problema y es que a IUSR_YAGO le tengo que dar permisos de select, insert etc a todas las tablas y es un poco engorroso, ¿hay alguna forma de hacer que sea considerado como administrador? Supongo que eso lo podre hacer en algún sitio del IIS pero no se como
Gracias
¿En el SQL Server que tipo de autenticación tenés? ¿La del dominio o la propia de SQL Server?
Respuesta
1
Me alegro!!;
Mejor que lo gestiones desde SQL:
Dirígete a la carpeta Seguridad/Inicios de Sesión y en la solapa Acceso a Bases de Datos, selecciona el usuario IUSR_YAGO como Public, datareader y datawriter.
En principio eso te dejará actuar sobre las BD, pero lo mejor es que crees un usuario de SQL que se llame "userweb" o algo así y en el apartado que te he indicado, actualizar esos valores. Más que nada para no confundir el usuari ode IIS con el de BD, aunque tampoco te ha de dar problemas.
A ver si ahora si!
OK, puedes hacer varias cosas. Lo primero comprueba que el IIS te está respondiendo bien a cualquier página HMT o ASP que no lleve conexión a datos. Solo para comprobar que el IIS está respondiendo bien a una petición pública.
Por otro lado, lo mejor es que crees un usuario de tipo público para el SQL, es decir, con los permisos convenientes para la BD que hayas creado, lo normal es dar solo permisos de lectura si no permites que nadie introduzca datos.
Por ultimo create un ODBC hacia el SQL Server, y con Interdev, prácticamente tienes realizada la conexión.
Si lo quieres hacer directamente sin ODBC, cambia el string de conexión insertando un user y pwd de tu usuario publico que hayas creado para la BD.
Respuesta
1
Perdona por no responderte antes pero estoy un poco liado.
El problema creo que está en la cadena de conexión. Debes indicarle el usuario y el password del SQL Server para que conecte. Por defecto el usuario del SQL Server es 'sa' y el password vacío. La cadena de conexión quedaría así:
Conn.Open "driver={SQL Server}; server=NOMBREMAQUINA; uid=TuLogin; pwd=TuContraseña; database=TuBaseDeDatos"
Puedes probar a abrir tu conexión así y ya me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas