Ayuda... muchas conexiones por transacción
Publicado por William (6 intervenciones) el 14/07/2010 16:08:51
Saludos estimados foristas.
Tengo un gran problema, estoy construyendo una aplicación la cual me esta trayendo problemas.
Tengo una función en una clase creada y almacenada en una dll, la cual ejecuta una instrucción SQL en una base de datos Oracle 10g R2, la escribo a continuación:
-----------------------------------
Public Function ExtraeCampo(ByVal sCampo As String, ByVal sTabla As String, ByVal sWhere As String) As String
Dim myConnection As OracleConnection
Dim myCommand As OracleCommand
Dim dr As OracleDataReader
Dim sDevuelve As String
myConnection = New OracleConnection(sCadenaConexion)
Try
myConnection.Open()
If Trim(sWhere) <> "" Then
myCommand = New OracleCommand("Select " & sCampo & " from " & sTabla & " where " & sWhere, myConnection)
Else
myCommand = New OracleCommand("Select " & sCampo & " from " & sTabla, myConnection)
End If
dr = myCommand.ExecuteReader()
sDevuelve = ""
While dr.Read()
sDevuelve = dr(0).ToString()
End While
Catch e As Exception
sDevuelve = e.Message
End Try
Return sDevuelve
dr.Close()
myConnection.Close()
End Function
--------------------------------------------------
Y sCadenaConexion es:
"data source = " & sServidor & "; user id = " & sUsuario & "; password = " & sClave & "; Integrated Security = no; Persist Security Info=False;"
---------------------------------------------------
Cada vez que se ejecuta esa función, se crea una conexión en la bd, llega un momento en el que cae la bd ya que la cantidad de conexiones es enorme (processes excede el numero permitido), cuando me di cuenta de eso, solo habia ejecutado un proceso donde invocaba esta funcion muchas veces y se crearon 15 conexiones.
Alguien sabe que puede estar pasando??
De antemano muchas gracias
Tengo un gran problema, estoy construyendo una aplicación la cual me esta trayendo problemas.
Tengo una función en una clase creada y almacenada en una dll, la cual ejecuta una instrucción SQL en una base de datos Oracle 10g R2, la escribo a continuación:
-----------------------------------
Public Function ExtraeCampo(ByVal sCampo As String, ByVal sTabla As String, ByVal sWhere As String) As String
Dim myConnection As OracleConnection
Dim myCommand As OracleCommand
Dim dr As OracleDataReader
Dim sDevuelve As String
myConnection = New OracleConnection(sCadenaConexion)
Try
myConnection.Open()
If Trim(sWhere) <> "" Then
myCommand = New OracleCommand("Select " & sCampo & " from " & sTabla & " where " & sWhere, myConnection)
Else
myCommand = New OracleCommand("Select " & sCampo & " from " & sTabla, myConnection)
End If
dr = myCommand.ExecuteReader()
sDevuelve = ""
While dr.Read()
sDevuelve = dr(0).ToString()
End While
Catch e As Exception
sDevuelve = e.Message
End Try
Return sDevuelve
dr.Close()
myConnection.Close()
End Function
--------------------------------------------------
Y sCadenaConexion es:
"data source = " & sServidor & "; user id = " & sUsuario & "; password = " & sClave & "; Integrated Security = no; Persist Security Info=False;"
---------------------------------------------------
Cada vez que se ejecuta esa función, se crea una conexión en la bd, llega un momento en el que cae la bd ya que la cantidad de conexiones es enorme (processes excede el numero permitido), cuando me di cuenta de eso, solo habia ejecutado un proceso donde invocaba esta funcion muchas veces y se crearon 15 conexiones.
Alguien sabe que puede estar pasando??
De antemano muchas gracias
Valora esta pregunta
0