Problemas con ADONET 2.0 y Parametros de algunos Sp's

29/03/2006 - 20:23 por Maxi | Informe spam
Estimados, estoy teniendo un problema bastante curioso que les entro a
detallar.
Estoy intentando devolver en un dataset o datareader la salida de un store
de sistema "sp_helptext", la salida de este procedimiento es un texto que
tiene algunos chr(13).

Si lo hago desde el query analizer funciona lo mas bien, si lo hago desde
ado comun tambien funciona bien, el tema es cuando lo quiero hacer desde
ado.net 20 (no lo probe en la anterior version)
Cual es el problema, pues simple, corta la salida a los primeros chr(13)
entonces no retorna todo el texto completo.
Esto lo probe tanto para Dataset como para Datareader y en ambos usando 2
tecnicas, SP con comando o simplemente pasando el texto.

Les adjunto el codigo utilizado a ver si alguno de ustedes tiene alguna
punta de que puede estar pasando:

Dim CMD1 As String = "EXEC SP_HELPTEXT 'FSC_TR_ARG_REQ_COMPRADOR2'"

Dim adapter As New SqlDataAdapter(cmd1, conn)

Dim ds As New DataSet

adapter.Fill(ds)

Dim n As Integer

X = ds.Tables(0).Rows(0).Item("text").ToString



Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org

Preguntas similare

Leer las respuestas

#1 Maxi
29/03/2006 - 21:32 | Informe spam
Bueno, he encontrado ya el problema, el muy turro de adonet me fue generando
n rows para un mismo resultado de esa salida del SP.

Gracias igual a todos


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Maxi" escribió en el mensaje
news:
Estimados, estoy teniendo un problema bastante curioso que les entro a
detallar.
Estoy intentando devolver en un dataset o datareader la salida de un store
de sistema "sp_helptext", la salida de este procedimiento es un texto que
tiene algunos chr(13).

Si lo hago desde el query analizer funciona lo mas bien, si lo hago desde
ado comun tambien funciona bien, el tema es cuando lo quiero hacer desde
ado.net 20 (no lo probe en la anterior version)
Cual es el problema, pues simple, corta la salida a los primeros chr(13)
entonces no retorna todo el texto completo.
Esto lo probe tanto para Dataset como para Datareader y en ambos usando 2
tecnicas, SP con comando o simplemente pasando el texto.

Les adjunto el codigo utilizado a ver si alguno de ustedes tiene alguna
punta de que puede estar pasando:

Dim CMD1 As String = "EXEC SP_HELPTEXT 'FSC_TR_ARG_REQ_COMPRADOR2'"

Dim adapter As New SqlDataAdapter(cmd1, conn)

Dim ds As New DataSet

adapter.Fill(ds)

Dim n As Integer

X = ds.Tables(0).Rows(0).Item("text").ToString



Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org



Respuesta Responder a este mensaje
#2 Leonardo Azpurua [mvp vb]
29/03/2006 - 21:52 | Informe spam
"Maxi" escribió en el mensaje
news:
Bueno, he encontrado ya el problema, el muy turro de adonet me fue
generando n rows para un mismo resultado de esa salida del SP.

Gracias igual a todos



Ahora que lo dices,.. ¿no es esa la conducta de sp_helptext en el analizador
de consultas?

Salud!
Respuesta Responder a este mensaje
#3 Maxi
29/03/2006 - 22:11 | Informe spam
no que yo sepa, lo trate de capturar con ado y no me hizo eso :-S


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Leonardo Azpurua [mvp vb]" <l e o n a r d o (arroba) m v p s (punto) o r g>
escribió en el mensaje news:

"Maxi" escribió en el mensaje
news:
Bueno, he encontrado ya el problema, el muy turro de adonet me fue
generando n rows para un mismo resultado de esa salida del SP.

Gracias igual a todos



Ahora que lo dices,.. ¿no es esa la conducta de sp_helptext en el
analizador de consultas?

Salud!


Respuesta Responder a este mensaje
#4 Andrey
29/03/2006 - 23:48 | Informe spam
Hola Maxi...

de pura curiosidad, para que haces esto...?

llevar el texto del objeto a un dataset...?


Gracias

"Maxi" escribió:

no que yo sepa, lo trate de capturar con ado y no me hizo eso :-S


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Leonardo Azpurua [mvp vb]" <l e o n a r d o (arroba) m v p s (punto) o r g>
escribió en el mensaje news:
>
> "Maxi" escribió en el mensaje
> news:
>> Bueno, he encontrado ya el problema, el muy turro de adonet me fue
>> generando n rows para un mismo resultado de esa salida del SP.
>>
>> Gracias igual a todos
>
> Ahora que lo dices,.. ¿no es esa la conducta de sp_helptext en el
> analizador de consultas?
>
> Salud!
>
>



Respuesta Responder a este mensaje
#5 Leonardo Azpurua [mvp vb]
30/03/2006 - 00:42 | Informe spam
"Maxi" escribió en el mensaje
news:O6A2%
no que yo sepa, lo trate de capturar con ado y no me hizo eso :-S



Hola.

Fíjate el procedimiento que le recomendé a alguien en el foro de VB Clasico:

Public Function spText(cn As Connection, spName As String) As String
Dim s As String, rs As Recordset
Set rs = cn.Execute("EXEC sp_helptext '" & spName & "'")
Do While Not rs.EOF
s = s & rs(0)
rs.MoveNext
Loop
rs.Close
spText = s
End Sub

Previamente lo habia abierto en el analizador de consultas y hay una fila
para cada linea.

Y en la ayuda de sp_helptext de los BOL dice:

"sp_helptext prints out the text used to create an object *in multiple
rows*, each with 255 characters of the Transact-SQL definition. The
definition resides in the text in the syscomments table of the current
database only."

Cuando "nos vimos" antes no lo recordaba. Sólo cuando lei tu respuesta me di
cuenta.

Salud!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida