Aplicacion asp.net con odbc a Sybase.

06/11/2006 - 18:56 por J.C. | Informe spam
Hola a tod@s,

Tengo una aplicacion que conecta a Sybase 5 mediante un ODBC. Si lanzo la
aplicacion mediante Visual Studio 2005 todo funciona de maravilla, levanta
el cliente de Sybase y conecta sin problemas.

Pero cuando ejecuto la aplicacion directamente desde IIS no levanta la
conexion ODBC con Sybase, vamos yo diria que ni lo intenta ya que el error
es inmediato. Yo diria que hay problemas de permisos o algo parecido.

El error es el siguiente:
ERROR [IM004] [Microsoft][Administrador de controladores ODBC] Error de
SQLAllocHandle del controlador en SQL_HANDLE_ENV
Descripción: Excepción no controlada al ejecutar la solicitud Web actual.
Revise el seguimiento de la pila para obtener más información acerca del
error y dónde se originó en el código.

Detalles de la excepción: System.Data.Odbc.OdbcException: ERROR [IM004]
[Microsoft][Administrador de controladores ODBC] Error de SQLAllocHandle del
controlador en SQL_HANDLE_ENV

Error de código fuente:


Línea 18: DataSet dataSet = new DataSet();
Línea 19: OdbcCommand OdbcCom = new OdbcCommand(consulta,
this.conexion);
Línea 20: this.conexion.Open();
Línea 21: OdbcDataReader dr = OdbcCom.ExecuteReader();
Línea 22: DataSet ds = convertDataReaderToDataSet(dr);


Archivo de origen:
c:\Inetpub\wwwroot\control_incurridos\App_Code\SybaseBase.cs Línea: 20

Seguimiento de la pila:


[OdbcException (0x80131937): ERROR [IM004] [Microsoft][Administrador de
controladores ODBC] Error de SQLAllocHandle del controlador en
SQL_HANDLE_ENV]
System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode
retcode) +35
System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection,
OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle) +131
System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions
options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection
owningObject) +98
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection
owningConnection, DbConnectionPoolGroup poolGroup) +27
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
owningConnection) +47
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.Odbc.OdbcConnection.Open() +37
control_incurridos.App_Code.SybaseBase.EjecutarConsulta(String consulta)
in c:\Inetpub\wwwroot\control_incurridos\App_Code\SybaseBase.cs:20
control_incurridos.App_Code.Sybase_acceso.exiteOT(String ot) in
c:\Inetpub\wwwroot\control_incurridos\App_Code\Sybase_acceso.cs:13
vistas_imputacion_semana.existeEnProfi(String ot) in
c:\Inetpub\wwwroot\control_incurridos\vistas\imputacion\mes.aspx.cs:537
vistas_imputacion_semana.lkn_aceptar_Click(Object sender, EventArgs e) in
c:\Inetpub\wwwroot\control_incurridos\vistas\imputacion\mes.aspx.cs:96
System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +105
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String
eventArgument) +107
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String
eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +174
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102



Muchas gracias.
 

Leer las respuestas

#1 Andres Montenegro
13/11/2006 - 13:22 | Informe spam
Puedes revisar si la cuenta network service (o la cuenta que ejecuta el pool
de IIS) tiene permisos sobre el path donde esta instalado el driver de
sybase.

"J.C." wrote:

Hola a ,

Tengo una aplicacion que conecta a Sybase 5 mediante un ODBC. Si lanzo la
aplicacion mediante Visual Studio 2005 todo funciona de maravilla, levanta
el cliente de Sybase y conecta sin problemas.

Pero cuando ejecuto la aplicacion directamente desde IIS no levanta la
conexion ODBC con Sybase, vamos yo diria que ni lo intenta ya que el error
es inmediato. Yo diria que hay problemas de permisos o algo parecido.

El error es el siguiente:
ERROR [IM004] [Microsoft][Administrador de controladores ODBC] Error de
SQLAllocHandle del controlador en SQL_HANDLE_ENV
Descripción: Excepción no controlada al ejecutar la solicitud Web actual.
Revise el seguimiento de la pila para obtener más información acerca del
error y dónde se originó en el código.

Detalles de la excepción: System.Data.Odbc.OdbcException: ERROR [IM004]
[Microsoft][Administrador de controladores ODBC] Error de SQLAllocHandle del
controlador en SQL_HANDLE_ENV

Error de código fuente:


Línea 18: DataSet dataSet = new DataSet();
Línea 19: OdbcCommand OdbcCom = new OdbcCommand(consulta,
this.conexion);
Línea 20: this.conexion.Open();
Línea 21: OdbcDataReader dr = OdbcCom.ExecuteReader();
Línea 22: DataSet ds = convertDataReaderToDataSet(dr);


Archivo de origen:
c:\Inetpub\wwwroot\control_incurridos\App_Code\SybaseBase.cs Línea: 20

Seguimiento de la pila:


[OdbcException (0x80131937): ERROR [IM004] [Microsoft][Administrador de
controladores ODBC] Error de SQLAllocHandle del controlador en
SQL_HANDLE_ENV]
System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode
retcode) +35
System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection,
OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle) +131
System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions
options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection
owningObject) +98
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection
owningConnection, DbConnectionPoolGroup poolGroup) +27
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
owningConnection) +47
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.Odbc.OdbcConnection.Open() +37
control_incurridos.App_Code.SybaseBase.EjecutarConsulta(String consulta)
in c:\Inetpub\wwwroot\control_incurridos\App_Code\SybaseBase.cs:20
control_incurridos.App_Code.Sybase_acceso.exiteOT(String ot) in
c:\Inetpub\wwwroot\control_incurridos\App_Code\Sybase_acceso.cs:13
vistas_imputacion_semana.existeEnProfi(String ot) in
c:\Inetpub\wwwroot\control_incurridos\vistas\imputacion\mes.aspx.cs:537
vistas_imputacion_semana.lkn_aceptar_Click(Object sender, EventArgs e) in
c:\Inetpub\wwwroot\control_incurridos\vistas\imputacion\mes.aspx.cs:96
System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +105
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String
eventArgument) +107
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String
eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +174
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102



Muchas gracias.



Preguntas similares