Connexion a BDD Access

21/09/2005 - 18:53 por Cris | Informe spam
Hola, tengo un pequeño problema.
Tengo una Web service en C#. El programa lo que hace es
desde un cliente rellenamos un formulario, lo pasamos con
un XML al servidor y este crea una connexion con la base
de datos.

La Base de datos es un Microsoft Access 2003.
En el programa tengo un
...
private System.Data.Odbc.OdbcConnection MyConn;
private System.Data.Odbc.OdbcCommand MyCommand;
...
MyConn= new System.Data.Odbc.OdbcConnection();
MyCommand = new System.Data.Odbc.OdbcCommand();

...
MyConn.ConnectionString = "MaxBufferSize 48;FIL=MS
Access;DSN=Perito;PageTimeout=5;Persist Security
Info=False;DBQ=C:\\Documents and
Settings\\tcb\\Escritorio\\Perito_bdd\\Perito.mdb;DriverId
%";


MyCommand.CommandText = "Sentencia"
MyCommand.Connection = MyConn;
MyConn.Open();

y bueno en el Open ya me falla.

El error que me dice es:

System.Data.Odbc.OdbcException:
System.Web.Services.Protocols.SoapException: El servidor
no puede procesar la solicitud. >

System.Data.Odbc.OdbcException:
ERROR [HY000] [Microsoft][Controlador ODBC Microsoft
Access]
El motor de base de datos Microsoft Jet no puede abrir el
archivo '(desconocido)'.
Está abierto en modo exclusivo por otro usuario o bien
necesita permiso para ver sus datos.

ERROR [IM006] [Microsoft][Administrador de controladores
ODBC] Error de SQLSetConnectAttr del controlador


Alguien me puede ayudar???????

Muchisimas gracias.
Cris
 

Leer las respuestas

#1 A.Poblacion
21/09/2005 - 20:23 | Informe spam
"Cris" wrote in message
news:02d001c5becd$09176b30$
Tengo una Web service en C#.
[...]
MyConn.ConnectionString = "MaxBufferSize 48;FIL=MS
Access;DSN=Perito;PageTimeout=5;Persist Security
Info=False;DBQ=C:\\Documents and
Settings\\tcb\\Escritorio\\Perito_bdd\\Perito.mdb;DriverId
%";
[...]
System.Data.Odbc.OdbcException:
[...]
Está abierto en modo exclusivo por otro usuario o bien
necesita permiso para ver sus datos.



Problema de permisos. El Web Service, si lo estás ejecutando con la
configuración predeterminada, se ejecuta con el usuario ASPNET, que lo más
normal es que no tenga permiso de acceso al directorio "C:\Documents and
Settings\tcb..." en donde tienes el archivo mdb.
Una de dos: o cambias los permisos de ese directorio para permitir acceso
al usuario ASPNET, o modificas el web.config para meterle un "identity
impersonate..." y rodar el servicio con un usuario que tenga los permisos
adecuados.

Preguntas similares