¿Cómo puedo especificar un archivo sql de entrada con una consulta larga cuando uso bcp? Traté de usar la opción -i
pero sigue quejándose de un error en la línea de comandos sin información adicional. es posible?¿Puedo especificar un archivo sql de entrada con bcp?
Respuesta
Por lo que a mí respecta, la utilidad BCP solo admite consultas de Transact-SQL escritas directamente en la línea de comandos. Ej:
BCP "seleccione el nombre desde AdventureWorks.Sales.Currency" queryout Currency.Name.dat -T -c
Según its reference la opción "-i":
Especifica el nombre de un archivo de respuesta, que contiene las respuestas a las preguntas del símbolo del sistema para cada campo de datos cuando se realiza una copia masiva utilizando el modo interactivo (-n, -c, -w o -N no especificado).
en cuenta que se diferencia de la opción sqlcmd Utility "i":
Identifica el archivo que contiene un lote de instrucciones SQL o procedimientos almacenados. Múltiples archivos pueden ser especificado que será leído y procesado con el fin (...)
+1 Gracias. ¿Sabría usted qué hacer cuando el comando 'SELECT' se hace demasiado largo? – Legend
Nunca tuve que usar consultas largas yo mismo, pero una búsqueda rápida en Google da como resultado este enlace que puede serle útil: [FIX: Bcp.exe con una cadena de consulta larga puede dar como resultado una falla de aserción] (http://support.microsoft) .com/kb/279180) –
Cuando me encontré con las consultas de salida de BCP que eran demasiado largas, recurrimos a almacenar vistas en la fuente. Nuestra consulta BCP puede ser simplemente "seleccionar x, y, z de [VER]" –
he tenido este problema hoy y encontré una solución conveniente, al menos en una situación ad-hoc.
Las tablas temporales pueden ser creadas por cualquier usuario con permisos de conexión. Esto significa que también puede crear tablas temporales GLOBAL.
Simplemente ejecute su consulta en el administrador de la empresa (o sql cmd o lo que sea) utilizando SELECT ... INTO con una tabla temporal global, p.
SELECT *
INTO ##mytemptable
FROM SomeTable
WHERE [massive where clause, for example]
A continuación, puede utilizar la tabla temporal en la consulta BCP con un simple
SELECT * FROM ##mytemptable
A continuación, colocar la tabla temporal a través encargado de la empresa
DROP TABLE ##mytemptable
O simplemente 'bcp ## mytemptable out' ... – Neil
lo hice otra forma de corrección que .
Creo un archivo por lotes que lee un archivo y envía su contenido en bcp comando. Ver:
@ECHO off
SETLOCAL EnableDelayedExpansion
SET queryFile=%1
SET outFileName=%2
FOR /F "delims=" %%i IN (%queryFile%) DO SET join=!join! %%i
ECHO %join%
bcp "%join%" queryout %outFileName% /S.\SQLE_CAESAR /d /c /t"|" /T
Ese guión recibir dos parámetros:
- Nombre del archivo que tiene una consulta;
- Nombre de archivo para datos de exportación;
ejecutar un script en cmd así: exportación Query.bat query.sql export.txt
espero ayudado.
- 1. ¿Cómo puedo especificar un icono con una ruta RELATIVA para un archivo de entrada de escritorio de Linux?
- 2. Uso de la utilidad bcp para exportar consultas SQL a un archivo de texto
- 3. Boost BCP no genera ningún archivo?
- 4. Usar bcp para importar un archivo csv a sql 2005 o 2008
- 5. ¿Dónde puedo encontrar bcp para impulsar?
- 6. Building Boost BCP
- 7. Pruebas unitarias con un archivo de entrada
- 8. ¿Dónde puedo especificar warn-on-reflection en un archivo clj?
- 9. SQL Server BCP: ¿Cómo poner citas en todos los campos?
- 10. ¿Cómo uso BCP o Sql Server Management Studio para obtener datos BLOB de SQL Server?
- 11. jQuery tomar un archivo cargado con tipo de entrada = 'archivo'
- 12. ¿Cómo puedo personalizar un archivo con vim?
- 13. ¿Mantiene bcp el orden de fila mientras exporta a un archivo de datos?
- 14. Con mod_rewrite, ¿puedo especificar RewriteBase dentro de RewriteCond?
- 15. ¿Cómo puedo especificar la ruta de un JAR en un archivo de compilación de ant?
- 16. ¿Puedo especificar explícitamente NavigateUrl en un hipervínculo?
- 17. ¿Cómo puedo especificar un archivo de configuración alternativo para un cliente WCF?
- 18. ¿Cómo puedo especificar una entrada Eclipse .classpath para una plataforma O/S específica?
- 19. Cómo especificar un archivo de configuración para pylint en Windows?
- 20. bcp: Error = [Microsoft] [SQL Server Native Client 10.0] Datos de cadena, truncamiento a la derecha
- 21. ¿puedo especificar un proyecto maven.artifactId en tiempo de ejecución?
- 22. Crear un archivo RDF usando un archivo txt como entrada
- 23. Cómo especificar un genérico con un ¿dónde?
- 24. ¿Cómo puedo especificar una ruta relativa en un archivo de configuración de registro de Python?
- 25. ¿Puedo especificar supportedRuntime (o cualquier otro parámetro de configuración) sin un archivo .config en .net?
- 26. ¿Cómo puedo duplicar una entrada completa en un archivo XML con VIM?
- 27. ¿Cómo puedo especificar CSS @media dentro de un archivo de afeitar?
- 28. ¿Puedo especificar maxlength en css?
- 29. Lista de miembros fuente en un archivo con SQL
- 30. ¿Cómo especificar un rango JRE en el archivo jnlp?
¿Ingreso de archivo SQL? No. Puede especificar un archivo de datos y un archivo de formato. Si desea utilizar SQL, quizás la inserción masiva sea una mejor opción. –
@GordonLinoff: En realidad, estoy tratando de extraer datos de una tabla. Antes de esto, estaba haciendo un SELECT basado en una cadena y suministrándolo a bcp pero ahora tengo una consulta más larga. – Legend
Puede crear una vista con la consulta, tal vez. –