[ot?] cadena de texto SQL demasiado larga desde excel (URGENTE)

10/05/2004 - 16:22 por Mara | Informe spam
he puesto ot devido a que no se si es este el grupo al que he de dirigirme,
pero es el mas apropiado que he encontrado

mi problema es que necesito ejecutar un store_procedure en un sql-server
desde una applicacion VBA en excel, y cuando la cadena de texto (sentencia
SQL) pasa de 255 caracteres pues da fallo

esquematicamente mi programa es:


SQL_MIS = SQLOpen("DSN=nombre_de_la_conexion_ODBC")

queryString = " bla bla bla ... "

text_SQLoutput = SQLExecQuery(SQL_MIS, queryString)

If Not IsNumeric(text_SQLoutput) Then MsgBox ("Fallo: " + queryString)

MsgBox (Len(queryString))


y la cadena de textoSQL (bla bla bla...) viene a ser:


queryString = " dbo.EntityNEW 'new customer','','','','New
Customer','Aldioinert','ARGENTINA','que
impo','l','l','e','1','1','w','Discount stores','End User','Food
retail','Food retail refrigeration','non.applicable','','End
Users','¿?','A12345','2004-05-06','17:48:32' "

queryString = " dbo.EntityNEW 'new customer','','','','New
Customer','Aldioinert','ARGENTINA','que
impor','l','l','e','1','1','w','Discount stores','End User','Food
retail','Food retail refrigeration','non.applicable','','End
Users','¿?','A12345','2004-05-06','17:48:32' "


la primera funciona, la segunda falla , diferencias??


queryString = " dbo.EntityNEW 'new customer','','','','New
Customer','Aldioinert','ARGENTINA','que impo'... -> 255 caracteres
queryString = " dbo.EntityNEW 'new customer','','','','New
Customer','Aldioinert','ARGENTINA','que impor'... -> 256 caracteres




es esto una limitacion del servidor-SQL, del link
ODBC o ...???

hay forma de salvarla???


gracias por las molestias

Preguntas similare

Leer las respuestas

#1 Mara
10/05/2004 - 16:25 | Informe spam
olvide especificar:

Wxp

SQL-server 8.00.760 (SQL-server_2000)

driver ODBC: Microsoft SQL Server ODBC Driver Version 03.81.9042
#2 manel gonzalez
10/05/2004 - 16:54 | Informe spam
Lamentablemente yo me encontre con el mismo problema y la única solución que
encontre fué definir en el procedimiento almacenado 4 variables de 255
caracteres y concatenarlas ya en SQL server..

Creo que es una limitacion de ODBC :-(

De todas maneras a mi también me interesa... Si alguien puede arrojar alguna
luz al caso


"Mara" escribió en el mensaje
news:e%
Mostrar la cita
#3 manuel garcía
10/05/2004 - 18:22 | Informe spam
Mara, en la select que haces al final, convierte la variable a TEXT
COVERT(nombre_variable,TEXT) y se resuelve. Si es un argumento no porque no
se puede declarar un argumento tipo TEXT

Un saludo,

"Mara" escribió en el mensaje
news:%
Mostrar la cita
dirigirme,
Mostrar la cita
#4 Mara
10/05/2004 - 18:44 | Informe spam
hola manuel:

no te entiendo, de que select me hablas

lo que le paso (y es lo unico que paso) al server es el nombre del procedure
y todos los parametros que necesita, no hago ningun select

y el problema es que la llamada no llega al server (error: 2042)

"manuel garcía" wrote in message
news:%
Mostrar la cita
no
Mostrar la cita
(sentencia
Mostrar la cita
diferencias??
Mostrar la cita
link
Mostrar la cita
#5 manuel garcía
11/05/2004 - 10:30 | Informe spam
Mara, no habia leido tu mail detenidamente. prueba cambiar el argumento
"largo" de VARCHAR a TEXT

"Mara" escribió en el mensaje
news:
Mostrar la cita
procedure
Mostrar la cita
sql-server
Mostrar la cita
ser:
Mostrar la cita
Ads by Google
Search Busqueda sugerida