Informix - ejecutar dbaccess desde un shell

 
Vista:

ejecutar dbaccess desde un shell

Publicado por martin (1 intervención) el 30/10/2007 14:34:26
buenas yo para esta opcion lo hago de la siguiente manera

[mprieto@martinpc centro_computos]$ echo "grant dba to mprieto" | dbaccess sicac_logiciel

Database selected.


Permission granted.


Database closed.

[mprieto@martinpc centro_computos]$

pero lo que yo quiero es que lo haga de forma silenciosa

no se si me explico, quiero que quede:

[mprieto@martinpc centro_computos]$ echo "grant dba to mprieto" | dbaccess sicac_logiciel
[mprieto@martinpc centro_computos]$

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ejecutar dbaccess desde un shell

Publicado por Luis Rivaldo (126 intervenciones) el 31/10/2007 12:17:28
Lo que debes hacer es lo siguiente con el editor vi es este ejemplo:
# vi Archivo_Shell_Base_De_Datos.sh
dbaccess - - <<!
database maindb;

--Aqui Vienen Todas Las Sentencias Que Quieras Ejecutar a la Base de Datos
--Como Ejemplo Bajar Los Nombres de Las Tablas del Catalogo de Tu Base de Datos
--Ejemplo:
output to "xx" without headings
select tabname from systables
where tabname[1,3]<>"sys" and tabname <> " VERSION";

--Aqui Puedes Seguir ejecutando sentencias
...
..
..

--- Mas Sentencias Hasta que termine con el caracter ( ! )
!
#Fin de las Sentencias y Ejecucion de SQL en la base de datos.
#Para que las sentencias no sean visibles por consola hay que direccionarlo &>2
#Hay que hacer la prueba con &>2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ejecutar dbaccess desde un shell

Publicado por Arvey Rodriguez (1 intervención) el 01/10/2009 23:10:44
Este es un ejemplo para generar un estadistico de uso de la base de datos
# archivo intermedio
tempfile=/tmp/espacio$$.out
trap '/bin/rm $tempfile 2> /dev/null'
# busco el uso de los dbspaces y lo pongo en el archivo intermedio
dbaccess sysmaster 2> /dev/null <<EOF
unload to $tempfile delimiter " "
select d.dbsnum,
d.name,
d.is_blobspace B,
round(sum(c.chksize * 2048 / 1024 / 1024), 0)
as SizeMB,
round(sum( (c.chksize - c.nfree) * 2048 / 1024 / 1024), 0)
as UsedMB,
round(sum(c.nfree * 2048 / 1024 / 1024), 0)
as FreeMB
from sysmaster:sysdbspaces d, sysmaster:syschunks c
where d.dbsnum = c.dbsnum
and d.is_temp = 0
group by 1, 2, 3
order by d.dbsnum
EOF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar