# Necesito exportar todas las tablas

**URL:** <https://foros.velneo.com/t/necesito-exportar-todas-las-tablas/10348>\
**Category:** Velneo\
**Created:** [18 Febrero, 2020 11:20 UTC](https://foros.velneo.com/t/necesito-exportar-todas-las-tablas/10348 "2020-02-18T11:20:23Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![solucionamos](https://avatars.discourse-cdn.com/v4/letter/s/bbce88/32.png) [@solucionamos](https://foros.velneo.com/u/solucionamos)\
**Post date:** [18 Febrero, 2020 11:20 UTC](https://foros.velneo.com/t/necesito-exportar-todas-las-tablas/10348/1 "2020-02-18T11:20:23Z")

</div>

Por favor, ¿Alguien tiene un script para exportar DE UNA VEZ todas las tablas de la BD hacia archivos de texto plano?

Lo más parecido que he encontrado está en esta entrada (pero exporta con errores):

> [@Solucionado: Exportar todas las tablas en archivos separados](https://foros.velneo.com/t/solucionado-exportar-todas-las-tablas-en-archivos-separados/7599):
>
> Estimados, Luego de algunos dolores de cabeza logré hacer un JS que exporte todos los datos de todas las tablas, en un archivo separaddo CSV para luego editar. Se aceptan obviamente sugerencias de mejoras. Adjunto el script ------------------------------- INICIO ------------------------------ // ExportarTodasLasTablas.js // Todas las tablas del proyecto y heredados // Importamos las clases que vamos a necesitar importClass( “VTextFile” ); importClass( “VFile” ); // Inicializamos varibl…

---

<div class="post-metadata">

**Author:** ![ccuesta](https://avatars.discourse-cdn.com/v4/letter/c/c77e96/32.png) [@ccuesta](https://foros.velneo.com/u/ccuesta)\
**Post date:** [18 Febrero, 2020 11:59 UTC](https://foros.velneo.com/t/necesito-exportar-todas-las-tablas/10348/2 "2020-02-18T11:59:00Z")

</div>

Hola, hace tiempo hice un proceso que exportaba todas las tablas a fichero, tal vez te sirva:

Primero preparo un array con los nombres de todas las tablas mediate un evento JavaScript que llamo desde el evento que lanza la exportación:

```
var theMainProject = theApp.mainProjectInfo();
var tablas = "";
var arraySort = new Array();
if ( theMainProject )
{
	for( var nIndex=0; nIndex < theMainProject.allTableCount(); nIndex++ )
	{
		var tableInfo = theMainProject.allTableInfo( nIndex );
		if ( tableInfo )
			{
				arraySort[nIndex] = tableInfo.id() ;
			}
	}
	arraySort.sort();
	for( var nIndex=0; nIndex < arraySort.length; nIndex++ )
	{
		theRoot.setVar( "TABLAS",nIndex, arraySort[nIndex] );
	}
}

```

Lanzo un manejador de evento que lanza el proceso de exportación por cada tabla en 4º plano:

![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/f/f7a0fb526bfd3cdabcacea89927280077cea5195.png)

El script que hace la exportación (SQL\_EXPORTA\_TABLA1) es este:

```
importClass("VDir");
importClass("VFile");
importClass("VTextFile");

var nombretabla = theRoot.varToString("NOMBRE_TABLA");
var rutadestino = theRoot.varToString("NOMBRE_RUTA");
var ficheroTxt = new VTextFile( rutadestino + "\\"+nombretabla+".txt" );
var resultado = "";

if ( ficheroTxt.open( VFile.OpenModeWriteOnly || VFile.OpenModeTruncate ) )
{
	var list = new VRegisterList( theRoot );
	list.setTable( "DAuge/" + nombretabla );
	list.load("ID",[]);
	theRoot.initProgressBar();
	theRoot.setTitle("Exportando " + list.size() + " elemento(s)");
	Tabla = list.tableInfo();
	for (var nReg=0; nReg<list.size();nReg++) {
		theRoot.setProgress( (nReg / list.size()) * 100 );
		var theRegister = list.readAt(nReg);
		for (var aa=0; aa<Tabla.fieldCount();aa++) {

					cLinea= theRegister.fieldToString(aa);
					if (Tabla.fieldType(aa) == 10) {
						if (cLinea == "No") {
							cLinea = "0";
						}
						else
						{
							cLinea = "1";
						}
					}
						
					
					if (aa < (Tabla.fieldCount()-1)) {
						resultado += cLinea + "|";
					}
					else
					{
						resultado += cLinea;
					}
				}
				resultado += "\r\n" ;
				ficheroTxt.write(resultado);
				resultado = "";
	}
	ficheroTxt.close;

```

Hace mucho que no lo pruebo y es posiblemente haya que hacer retoques pero te puede servir de guía.

---

<div class="post-metadata">

**Author:** ![solucionamos](https://avatars.discourse-cdn.com/v4/letter/s/bbce88/32.png) [@solucionamos](https://foros.velneo.com/u/solucionamos)\
**Post date:** [19 Febrero, 2020 12:17 UTC](https://foros.velneo.com/t/necesito-exportar-todas-las-tablas/10348/3 "2020-02-19T12:17:54Z")

</div>

Hola ccuesta, de veras eres muy amable. Lo probaré y te cuento. Gracias.

---

<div class="post-metadata">

**Author:** ![alberto\_nudman](https://avatars.discourse-cdn.com/v4/letter/a/e68b1a/32.png) [@alberto\_nudman](https://foros.velneo.com/u/alberto_nudman)\
**Post date:** [21 Febrero, 2020 12:29 UTC](https://foros.velneo.com/t/necesito-exportar-todas-las-tablas/10348/4 "2020-02-21T12:29:03Z")

</div>

Hola,

Ese es el script que yo ocupo a cada rato y me funciona bien, ¿qué errores te genera?

![](https://avatars.discourse.org/v4/letter/s/bbce88/45.png "solucionamos")

[solucionamos](https://foros.velneo.es/u/solucionamos)  
[[N1] solucionamos](https://foros.velneo.es/u/solucionamos)

```
    18 Febrero

```

Por favor, ¿Alguien tiene un script para exportar DE UNA VEZ todas las tablas de la BD hacia archivos de texto plano?

Lo más parecido que he encontrado está en esta entrada (pero exporta con errores):

---

<div class="post-metadata">

**Author:** ![solucionamos](https://avatars.discourse-cdn.com/v4/letter/s/bbce88/32.png) [@solucionamos](https://foros.velneo.com/u/solucionamos)\
**Post date:** [26 Febrero, 2020 20:39 UTC](https://foros.velneo.com/t/necesito-exportar-todas-las-tablas/10348/5 "2020-02-26T20:39:33Z")

</div>

Hola Spicer. Por favor, ¿podrías publicar de alguna manera el archivo .js para Exportar Todas las Tablas (no pegado como la vez anterior)?

El que pegaste la vez pasada, por ejemplo, para una tabla de 86 registros me generó un archivo de 18 mil filas (por citar sólo un caso). Seguramente copie mal el texto.

Te agradecería mucho si publicas el archivo que estás usando.

 ![Tabla Cargos](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/8/822403d48cffa22e6f6333e70913ff47f1436522.png)
