Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Guardar en txt

33 views
Skip to first unread message

José Antonio Muñoz

unread,
Nov 11, 2009, 3:35:36 AM11/11/09
to
Hola a todos,

�como puedo guardar el contenido de una variable de Sql Server en un archivo
txt de una forma sencilla y sin utilizar el comando bcp?

saludos,
Jos� Antonio Mu�oz

Carlos Sacristan

unread,
Nov 11, 2009, 3:56:44 AM11/11/09
to
�Por qu� no quieres usar bcp? Creo que ser�a lo m�s sencillo...

--
-----------------------------
"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es f�cil, si ambas est�n congeladas."
Edward V. Berard, ingeniero inform�tico


"Jos� Antonio Mu�oz" <josean...@hotmail.com> wrote in message
news:uMNmEoqY...@TK2MSFTNGP02.phx.gbl...

Carlos M. Calvelo

unread,
Nov 11, 2009, 5:14:01 AM11/11/09
to
Hola José Antonio,

On 11 nov, 09:35, José Antonio Muñoz <joseantoni...@hotmail.com>
wrote:


> Hola a todos,
>
> ¿como puedo guardar el contenido de una variable de Sql Server en un archivo
> txt de una forma sencilla y sin utilizar el comando bcp?
>

Échale un vistazo a estos artículos:

http://www.simple-talk.com/sql/t-sql-programming/reading-and-writing-files-in-sql-server-using-t-sql/
http://69.10.233.10/KB/database/WRITEFileStream.aspx


Saludos,
Carlos

José Antonio Muñoz

unread,
Nov 11, 2009, 5:50:58 AM11/11/09
to
Teniendo en cuenta que estoy desarrollando un script para poder ejecutarlo
en diferentes m�quinas con Sql Server y siendo la utilidad BCP un ejecutable
externo. Que ocurrir�a si:

- No se puede ejecutar bcp.exe en alg�n Sistema Operativo como Windows 2003
Server que tiene restringido el uso y ejecuci�n de ciertos programas.
- Por alg�n motivo no se puede utilizar xp_cmdshell (en el sistema operativo
X no tiene permisos para ejecutar programas o comando de ms-dos)
- bcp.exe se encuentra en alguna carpeta de sql server, al ejecutar bcp con
el comando xp_cmdshell �es necesario especificar la ruta donde se encuentra
la utilidad?

No se me ocurre otros inconvenientes, pero ejecutar un programa desde un
script de sql server ... no s� si ser�a buena idea. Ahora bien si t� me
dices que ejecutar bcp es algo rutinario desde un script de sql server e
independiente del sistema operativo y de la configuraci�n de �ste, lo mismo
me planteo utilizarlo.

saludos,
Jos� Antonio Mu�oz.

"Carlos Sacristan" <nom...@nomail.com> escribi� en el mensaje de noticias
news:ee0hozqY...@TK2MSFTNGP04.phx.gbl...

Carlos Sacristan

unread,
Nov 11, 2009, 6:28:59 AM11/11/09
to
Pues, yendo punto por punto:

-Efectivamente, como t� dices pueden darse muchas circunstancias. Puede que
el administrador de sistemas tenga establecidas ciertas limitaciones en la
ejecuci�n de programas, pero si tu aplicaci�n lo necesita hay que tratarlo
como un requisito m�s. Es decir, igual que necesitas SQL Server o .NET para
tu aplicaci�n (un suponer), pues tambi�n necesitas que te permita ejecutar
bcp.

- Usar bcp no implica necesariamente el uso de xp_cmdshell. Puedes ejecutar
bcp dentro de un job y ejecutarlo posteriormente mediante sp_start_job

- bcp se encuentra en el PATH del sistema cuando se instala SQL Server, as�
que no hay que especificar su ubicaci�n

En cualquier modo, si yo estuviera en tu caso (desarrollando una nueva
aplicaci�n), lo que har�a ser�a un procedimiento CLR que se encargara de
escribir a disco el resultado de esa variable. Mucho m�s eficiente y menos
problem�tico que usar automatizaci�n OLE


--
-----------------------------
"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es f�cil, si ambas est�n congeladas."
Edward V. Berard, ingeniero inform�tico


"Jos� Antonio Mu�oz" <josean...@hotmail.com> wrote in message

news:eCFVuzrY...@TK2MSFTNGP06.phx.gbl...

José Antonio Muñoz

unread,
Nov 11, 2009, 7:22:37 AM11/11/09
to
Carlos, �me podr�as indicar, a groso modo, como se realizar�a ese
procedimiento? �como confeccionar el job? �como especificar las credenciales
a la utilidad bcp sin escribir contrase�as expuestas? etc..

Jos� Antonio Mu�oz

"Carlos Sacristan" <nom...@nomail.com> escribi� en el mensaje de noticias

news:u4vGrIsY...@TK2MSFTNGP04.phx.gbl...

José Antonio Muñoz

unread,
Nov 11, 2009, 7:29:00 AM11/11/09
to
Una cosita, se me olvidaba decirte que utilizo Sql Server 2008 Express y
tengo entendido que en esta versi�n no funciona el Agente de sql

Jos� Antonio Mu�oz.

"Carlos Sacristan" <nom...@nomail.com> escribi� en el mensaje de noticias

news:u4vGrIsY...@TK2MSFTNGP04.phx.gbl...

Carlos Sacristan

unread,
Nov 11, 2009, 7:38:58 AM11/11/09
to
No es que no funcione, es que no existe SQL Agent en la versi�n Express.

La opci�n de usar bcp dentro de un job digamos que es una v�a para salir del
paso. Pienso que lo mejor ser�a usar un procedimiento CLR

--
-----------------------------
"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es f�cil, si ambas est�n congeladas."
Edward V. Berard, ingeniero inform�tico


"Jos� Antonio Mu�oz" <josean...@hotmail.com> wrote in message

news:%23lgGgqs...@TK2MSFTNGP05.phx.gbl...

Carlos Sacristan

unread,
Nov 11, 2009, 7:41:10 AM11/11/09
to
bcp no necesita que le especifiques ninguna credencial (ni usuario ni
contrase�as) si utilizas la opci�n -T (autenticaci�n integrada)

--
-----------------------------
"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es f�cil, si ambas est�n congeladas."
Edward V. Berard, ingeniero inform�tico


"Jos� Antonio Mu�oz" <josean...@hotmail.com> wrote in message

news:%23n2N8ms...@TK2MSFTNGP04.phx.gbl...

José Antonio Muñoz

unread,
Nov 11, 2009, 12:36:34 PM11/11/09
to
�Procedimiento CLR?

"Carlos Sacristan" <nom...@nomail.com> escribi� en el mensaje de noticias

news:u1g4xvsY...@TK2MSFTNGP05.phx.gbl...

Carlos Sacristan

unread,
Nov 11, 2009, 12:43:06 PM11/11/09
to
s�, un procedimiento hecho en .NET (VB o C#)

--
-----------------------------
"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es f�cil, si ambas est�n congeladas."
Edward V. Berard, ingeniero inform�tico


"Jos� Antonio Mu�oz" <josean...@hotmail.com> wrote in message

news:%23rNQYWv...@TK2MSFTNGP05.phx.gbl...

José Antonio Muñoz

unread,
Nov 12, 2009, 3:35:55 AM11/12/09
to
Estoy intentando ejecutar el comando bcp con xp_cmdshell de la siguiente
forma (necesito exportar en formato xml):

EXEC xp_cmdshell 'bcp basedatos..clientes format nul -T -c -x -f
C:\PRUEBA\PRUEBA.xml'

y no funciona. Me da un error diciendo "el servidor no se encuentra o no
est� disponible".

Nota: En el Sql server 2008 express que tengo instalado solo existe
autentificaci�n de sql y no existe autentificaci�n de windows, ya que se han
eliminado las cuentas correspondientes.

Jos� Antonio Mu�oz.

"Carlos Sacristan" <nom...@nomail.com> escribi� en el mensaje de noticias

news:Oe96uZvY...@TK2MSFTNGP02.phx.gbl...

Carlos Sacristan

unread,
Nov 12, 2009, 3:56:13 AM11/12/09
to
No est�s llamando con los valores correctos a bcp:

- en primer lugar no est�s indicando el servidor (par�metro -S). Cuando
esto es as� (el par�metro no es obligatorio), bcp intenta conectarse a la
instancia predeterminada de la m�quina en la que se est� ejecutando
- en segundo lugar est�s intentando conectarte por autenticaci�n
integrada (-T) y t� mismo has dicho que todos los logins son de SQL Server

Echa un vistazo en los BOL al tema "bcp Utility" para conocer los par�metros
y el uso que tienes que hacer de ellos.

--
-----------------------------
"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es f�cil, si ambas est�n congeladas."
Edward V. Berard, ingeniero inform�tico


"Jos� Antonio Mu�oz" <josean...@hotmail.com> wrote in message

news:%23kv48M3...@TK2MSFTNGP04.phx.gbl...

Maxi Accotto

unread,
Nov 12, 2009, 5:58:26 AM11/12/09
to
Hola, usando .NET podria ser una forma simple

--

------------------------------------------------
Maxi Accotto
MVP en SQL Server
http://blog.maxiaccotto.com
--------------------------------------------------

"Jos� Antonio Mu�oz" <josean...@hotmail.com> wrote in message
news:uMNmEoqY...@TK2MSFTNGP02.phx.gbl...

0 new messages