| |||
Conexion Asp Con Win Xp Hola CompaÑeros, Hace Tiempo Os Dije Que Tenia Problemas Con La Conexion De Bd, Y Resulta Que Al Hacerlo En Win 98 Con El Pws No Tengo Problema. El Problema Surge Cuando Lo Hago Con Win Xp Con El Iis. Por Favor Ayudadme. Muchas Gracias. La Conexion Es Odbc
__________________ muchas gracias compañeros |
| ||||
y lo más importante, QUE ERROR te muestra el navegador ?
__________________ Documentación de VBScript V5.6 en Español: http://download.microsoft.com/downlo...ES/scd56es.exe |
| |||
conexion BD en ASP con Win xp y 2000 Hola, tengo un problema al intentar modificar una bd con ASP cuando estoy en win xp o 2000 con el IIS. Con win 98 y el PWS, sale bien, pero necesito que funcione tb en los otros casos. La conexion es ODBC, y el mensaje de error que me da el navegador es: "Tipo de error: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][Controlador ODBC Microsoft Access] No se puede actualizar. Base de datos u objeto de sólo lectura. /asp con bd 3/TMP1h337l5e.asp, line 44 Tipo de explorador: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Página: GET /asp con bd 3/TMP1h337l5e.asp " la BD y las paginas ASP las tengo en el directorio c:\inetpub\wwwroot Me he creado el sitio correctamente, y no tengo restringidos ningun permiso de escritura en las carpetas anteriores, ni tengo abierta la BD cuando accedo a ella. Asi conecto la BD: set oConn = Server.CreateObject("ADODB.Connection") set rs = Server.CreateObject("ADODB.Recordset") y asi hago la conexion ODBC: oConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("base.mdb"). Muchas gracias.
__________________ muchas gracias compañeros |
| ||||
Prueba la conexion con alguno de los driver de aqui: http://www.connectionstrings.com/. Particularmente, creo que necesitas la conexion a través de OLE. otra cosa, tienes la base de datos de solo lectura? O las tablas? Un saludo.
__________________ La mejor improvisación es la que se prepara. |
| |||
CONEXION asp EN wIN XP O 2000 Estas son las lineas de codigo donde me da el problema (trabajando en win xp o 2000 y con IIS), en concreto es en la de "rs.Update": 'Añado un nuevo registro rs.AddNew rs.Fields("Nombre")="Visitante ASP Fácil" rs.Fields("Fecha")=Date rs.Fields("IP") = Request.ServerVariables("REMOTE_ADDR") rs.Update 'Después de guardar los cambios con update 'la ID del nuevo registro está disponible iRegistro = rs.Fields("Id") rs.Close La forma de conectar a la BD es: set oConn = Server.CreateObject("ADODB.Connection") set rs = Server.CreateObject("ADODB.Recordset") y la conexion es: oConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("base.mdb") ¿porqué este mismo codigo en windows 98 y con el PWS funciona correctamente?
__________________ muchas gracias compañeros |
| |||
conexion ASP con win xp Cita: ¿como se ven si las tablas son de solo lectura? ¿no es una propiedad de la BD en su conjunto?. ¿porque crees que necesito OLE?
Iniciado por jesusma Prueba la conexion con alguno de los driver de aqui: http://www.connectionstrings.com/. Particularmente, creo que necesitas la conexion a través de OLE. otra cosa, tienes la base de datos de solo lectura? O las tablas? Un saludo.
__________________ muchas gracias compañeros |
| |||
CONEXION A bd CON asp Y wIN XP Cita: CONEXION asp EN wIN XP O 2000
Iniciado por Myakire ¿Podrías poner +-3 lineas de la 44 que es la que te marca el error? Supongo que te marca con un execute o un open cuando intentas ejecutar un update o un insert, entonces tal vez tu forma de apertura es incorrecta. Prueba con rs.open sql, conexion,3,3 Saludos -------------------------------------------------------------------------------- Estas son las lineas de codigo donde me da el problema (trabajando en win xp o 2000 y con IIS), en concreto es en la de "rs.Update": 'Añado un nuevo registro rs.AddNew rs.Fields("Nombre")="Visitante ASP Fácil" rs.Fields("Fecha")=Date rs.Fields("IP") = Request.ServerVariables("REMOTE_ADDR") rs.Update 'Después de guardar los cambios con update 'la ID del nuevo registro está disponible iRegistro = rs.Fields("Id") rs.Close La forma de conectar a la BD es: set oConn = Server.CreateObject("ADODB.Connection") set rs = Server.CreateObject("ADODB.Recordset") y la conexion es: oConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("base.mdb") ¿porqué este mismo codigo en windows 98 y con el PWS funciona correctamente?
__________________ muchas gracias compañeros |
| |||
¿podriAis decirme que diferencia hay entre los distintos tipos de apertura posible de BD tipo ACCESS?¿cual es el mas recomendable?. Muchisimas gracias
__________________ muchas gracias compañeros |
| |||
Ami Me Pasaba Igual ME parece que el problema se debe a: 1.- Tu base de datos es de solo lectura. 2.-Tu coneccion ODBC es solo lectura. 3.- Tu Objeto recordset es readonly. y debes cambiarlo junto con su cursor 4.- No le has dado los permisos requeridos al usuario anonimo para acceder a ala base de datos (cuestiones de seguridad del IIS). TIENES QUE darle en el EXPLORADOR DE WINDOWS ala carpeta en la que tienes los archivos propiedades SEGURIDAD y darle al usuario anonimo o a todos los usuarios los derechos correspondientes COn eso ami me funciono ![]() |
| |||
Problemas con ASP y IIS Muchas gracias por tu ayuda, pero, ¿Me podrias concretar mas los puntos 2 y 3 que me comentas como posibles errores?, es decir, ¿como hago que la conexion no sea de solo lectura?, y ¿lo del recorset?. Muchas gracias Cita:
Iniciado por omarcastro ME parece que el problema se debe a: 1.- Tu base de datos es de solo lectura. 2.-Tu coneccion ODBC es solo lectura. 3.- Tu Objeto recordset es readonly. y debes cambiarlo junto con su cursor 4.- No le has dado los permisos requeridos al usuario anonimo para acceder a ala base de datos (cuestiones de seguridad del IIS). TIENES QUE darle en el EXPLORADOR DE WINDOWS ala carpeta en la que tienes los archivos propiedades SEGURIDAD y darle al usuario anonimo o a todos los usuarios los derechos correspondientes COn eso ami me funciono ![]()
__________________ muchas gracias compañeros |
| |||
como saber si la odbc es solo de lecturra???? como saber si mi odbc es de lectura ....actualmente me encuentro usando el visual c++ express tiene odbc incluidas pero me sale un error ![]() bueno el asunto es que me dice que la coneccion es solo de lectura pero no se como ver ese aspecto (demas esta decir que si me conecto ya que puedo leer buscar y esas cosas pero a nivel de lectura....no tengo la base ni la tabla del modo lectura ya que me conecto por medio del putty a ella "remotamente" pero el problema salio a la hora de eliminar y escribir un dao desde mi aplicacion pero no desde consola)...como se determina que la odbc es solo de lectura-.-----en mocosoft no dan soporte para ello .....existe un manula de la odbc???? me he cortado buscando uno pero no encontre nada ....quiero escribir en la base de datos ( postgresql 8 ) pero me sale ese error por lo que no se como verlo......si hay algun manual de como ver eso te lo agradeceria caleta!!!!! ![]() |
| ||||
Pues no entendí casi nada de lo que escribiste. Claro es que no tienes un problema de con ASP, pero igual intentaremos ayudar, a ver ...., te conectas pero de solo lectura ..... ¿y luego?, seguramente el usuario con el que te conectas solo tiene permisos de lectura en la BD's, el problema creo yo, lo solucionas simplemente dandole permisos de escritura al usuario con el que te conectas. Saludos |
| |||
Pueden ser varias las causas que producen este error : 1.- La base de datos cuando fue abierta se dio el acceso solo para lectura.... chequea este punto y modificalo si corresponde 2.- Faltan dar permisos NTFS al usuario anonimo..... esto quiere decir que falta el permiso de Control Total al usuario IUSR_nombremaquina. Para hacer esto debes de ir a la MDB; click derecho, propiedades, vas luego a pestaña seguridad, luego agregas este usuario a la lista; o bien al grupo al cual pertenece.. puede ser grupo everyone.... una vez ingresado el usuario o grupo, click en el y en la parte inferior estan los permisos... ahi debes de marcar el permiso Control Total... eso es todo.. ahi quedara el archivo de r/w 3.- Si todo lo anterior no es; entonces puede que falte el permiso a nivel del IIS ; para esto debes de abrir la consola mmc del IIS ......panel de control -> herramientas administrativas -> servicios de internet information server; una vez aca, vas al "sitio web predeterminado" click derecho -> propiedades, en la pestaña "directorio particular" marca la opcion "escritura". Al final de esto vas a donde tienes el directorio con la mdb click derecho -> seleccionas todas las tareas ; y en el asistente para permisos le das que siga y seleccionas "heredar la la configuracion de seguridad", despues le das siguiente y se te va a informar que todo esta ok.. Eso es lo que puedo aportar |
| |||
![]() System::String ^ CConeccion="DRIVER={PostgreSQL};DATA SOURCE=C:\Archivos de programa\Archivos comunes\ODBC\Data Sources\sucucho.dsn;Server=146.83.xxx.xxx;PORT=543 2;DATABASE=mibase;Uid=postgres;Pwd=pass"; System::Data::Odbc::OdbcConnection ^coneccion=gcnew System::Data::Odbc::OdbcConnection(CConeccion); Odbc::OdbcCommand ^command= gcnew Odbc::OdbcCommand(); command->Connection::set(coneccion); coneccion->Open(); esta es mi coneccion mediante esto me conecto a mi base de dato pero puedo hacerlo solo de lectura......¿como puedo saber si es este odbc es de lectura....si el usuario que utilizo es el superusuario de postgresql que viene por defecto?? no estoy utilizando otro!!!! porque me funciona en el putty la coneccion ssh al servidor y me deja modificar todo (borrar y agregar)?? lo anterior no me sirvio ![]() me hubiera gustado pero no me corrio nada ,,,....... porque puede pasar eso??? yo creo que es problema de las odbc!!!!!!!!! |
| |||
No será que te falta unicamente poner el parametro ReadOnly=NO?..... creo que este parametro se setea al crear el dsn y por defecto es solo lectura... ahi al parecer hay que indicar si sera de read/write... no estoy segura pero puede ser una pista que te ayude Prueba como te dije y ve que pasa.... |
| |||
este es el error que me sale!!!! An unhandled exception of type 'System.Data.Odbc.OdbcException' occurred in System.Data.dll Additional information: ERROR [HY000] Connection is readonly, only select statements are allowed.; Unrecognized key passed to SQLGetInfo30. configure el inicio de datos pero me salia de lectura trate de crear otro origrn de datos desbilitando eso ...pero ningun resultado .......no se como hacerlo |
| ||||
Otra vez este error? Me parece que tienes como 4 posts distintos alrededor de los foros con este mismo error. Y como sea, además estás trabajando con .NET www.connectionstrings.com
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| |||
Mira, lo mejor que puedes hacer es usar DSN-LESS en vez de usar una fuente de datos.... intentalo asi... cambiando lo que necesites "driver={PostgreSQL}; server=Tuserver; PORT=Puerto; database=Tubase; uid=Tuusuario; pwd=password" |
| |||
![]() bueno el problema no estaba en el odbc ....estaba en el string que utilizaba para conectarme que era este ---> "driver={PostgreSQL}; server=Tuserver; PORT=Puerto; database=Tubase; uid=Tuusuario; pwd=password" al no definir el tipo de coneccion se considera por defecto solo de lectura ....LO QUE HABIA QUE HACER ES ESTO----> "driver={PostgreSQL}; server=Tuserver; PORT=Puerto; database=Tubase;ReadOnly=0; uid=Tuusuario; pwd=password" asi funkaba y todo bien puedo borrar de mi aplicacion .....escrita en c++.net gracias a todods a pesar de que no se hblaba de eso en este foro pero en los que abría no me pescaban.........por lo menos aca encontre mas respuestas....., AHORA TENGO UNA DUDA:::::: Para cada botton es necesario reestablecer la coneccion? ................ es que no me pesca y no se como hacer este string como global para mi aplicacion, para que la coneccion se establesca solo al comienzo y se mantenga por el resto de las ventanas hasta que salga de la aplicacion?? alguna idea ....se entiende? gracias Última edición por gothamsick; 15/03/2006 a las 18:45 |