elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Temas
Páginas: [1] 2
1  Programación / .NET (C#, VB.NET, ASP) / Problemas para ejecutar bat o power shell desde visual estudio 2017 con vb.net en: 15 Enero 2020, 19:32 pm
Buenas tardes comunidad!,

nuevamente recurro a ustedes al encontrarme en un callejón sin salida, e investigado un monton y no me a resultado nada de lo que he intentado, les comento.

Estoy generando el timbre electronico de una guia de despacho, para esto genero unas instrucciones en cmd.exe, al generalas desde el cmd no tengo problemas, cuando lo hago desde visual studio me genera problemas, no me muestra errores solo indica que el archivo no se encuentra siendo que la instrucción que crea el archivo se ejecuto o al menos no aparecen errores que me indiquen que no se creo el archivo, aunque este no se crea.
He intentado de hacerlo con power shell ise 2.0 pero no tengo forma alguna de ejecutarlo desde visual studio, no tengo idea de como ejecutar el powershell, por temas de elevación de permisos solucione el problema llamando a un powershell normal sin elevación y este ejecuta un nuevo powershell con permisos elevados, si me pueden ayudar con cualquiera de estas 2 formas se los agradecería muchísimo

ya sea ayudarme y quitando la nebulosa de como ejecutar un script power shell desde visual studio 2017 o ayudándome a saber como elevar permisos desde un bat, sin que se tenga que hacer el acceso directo e indicarle al acceso directo que se ejecute en modo administrador.

Muchas gracias por su ayuda de antemano
Saludos
2  Programación / Programación General / guardar datos de una grilla en: 16 Agosto 2019, 21:07 pm
Buenas tardes, intentare de ser lo mas claro posible para que me puedan ayudar.
El lenguaje es Visual Basic

 tengo un dgv (datagridview) al cual el usuario realizara una modificacion de una celda en particular ingresando solo numeros, una vez que el usuario termine de realizar la modificacion en la celda toda la fila de este dgv sera agregado a un nuevo Dgv, el tema es que cuando el usuario realiza la modificacion se envia a la nueva grilla pero la celda no esta modificada, he leido bastante y al parecer tengo que controlar el evento cell dirty state change y dar el commit para que los datos en cache sean guardado, el tema es que cuando depuro la aplicacion los datos en la nueva fila se muestran cambiados pero no se ven reflajados en la grilla nueva  adjunto el codigo
Código:
' aqui estoy manejando que ingrese a la celda "Porcentaje"
Private Sub DgvTempo_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DgvTempo.CellContentClick
        Dim i As Integer
        Dim row As DataGridViewRow = DgvTempo.CurrentRow
        Dim Vusuario, Vestacion As String

        With DgvTempo
            If e.RowIndex >= 0 Then

                i = .CurrentRow.Index

                If e.ColumnIndex = .Rows(i).Cells("Porcentaje").ColumnIndex Then

                    .Rows(i).Cells("Porcentaje").ReadOnly = False
                    CType(.Columns("Porcentaje"), DataGridViewTextBoxColumn).MaxInputLength = 2
                    Vusuario = CLLibreria.VgUsuarioCodigo
                    Vestacion = CLLibreria.VgEstacion
                    DTTemporada.Rows(i)("Usuario") = Vusuario
                    DTTemporada.Rows(i)("Estacion") = Vestacion

                Else
                    .Rows(i).ReadOnly = True
                End If
            End If

        End With
    End Sub

' aqui se supone que el cambio ya fue realizado y debe agregar la fila con los datos ya
' cambiados y agregarlos a la nueva grilla, estoy trabajando con los dataTable de las grillas
Private Sub DgvTempo_CellValidated(sender As Object, e As DataGridViewCellEventArgs) Handles DgvTempo.CellValidated
        Dim i As Integer
        Dim fila As DataRow
        Dim nvalor As Integer
        Dim nvalor2 As String
        Dim Vusuario, Vestacion As String

        nvalor = DgvTempo.CurrentRow.Cells("Porcentaje").Value
        nvalor2 = DTTemporada.Rows(e.RowIndex).Item("Porcentaje").ToString

        'MsgBox(CStr(nvalor) & " / " & nvalor2)

        With DgvTempo
            i = .CurrentRow.Index

            If e.ColumnIndex = .Rows(i).Cells("Porcentaje").ColumnIndex And .Rows(i).Cells("Porcentaje").Value > 0 Then

                fila = DTTemporada.Rows(i)
                fila("Porcentaje") = .CurrentRow.Cells("porcentaje").Value
                DTtempo.ImportRow(fila)
                Vusuario = CLLibreria.VgUsuarioCodigo
                Vestacion = CLLibreria.VgEstacion
                DTtempo.Rows(i)("Usuario") = Vusuario
                DTTemporada.Rows(i)("Estacion") = Vestacion
                DgvTemporada.DataSource = DTtempo

                DgvTemporada.Columns("Id_PreTemp").Visible = False
                DgvTemporada.Columns("Cod_tienda").Visible = False
                DgvTemporada.Columns("Cod_Temporada").Visible = False
                DgvTemporada.Columns("Cod_Marca").Visible = False
                DgvTemporada.Columns("Usuario").Visible = False
                DgvTemporada.Columns("Estacion").Visible = False
                DgvTemporada.AllowUserToAddRows = False
                DgvTemporada.RowHeadersVisible = False
                DTTemporada.Rows.RemoveAt(i)

                If DgvTemporada.Rows.Count > 0 Then

                    If Not VBtnCreado Then

                        CreaBtnEliminar()
                    End If
                End If
            End If
        End With

    End Sub

en la nueva grilla me meustra la fila agregada pero con la columna porcentaje con los valores en 0...

Llevo 2 dias atorado espero alguno me pueda ayudar

Saludos
3  Programación / Bases de Datos / Error procedimiento almacenado no lo puedo sacar!! en: 6 Agosto 2019, 20:47 pm
Buenas tardes amiguetes!!

solicito su ayuda, tengo un error en un procedimiento almacenado en sql server, la falla radica en que no esta entranddo a realizar los insert, realiza los update y delete pero no los insert, porfavor si alguno me puede ayudar se lo agradeceria muchisimo, le he dado muchas vueltas y no tengo solucion
Código:
USE [Gestion]
GO
/****** Object:  StoredProcedure [dbo].[GES_Pre_Tienda_Guardar]    Script Date: 6/8/2019 12:10:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Cristofer Martinez
-- Create date: 05-08-2019
-- Description: Guarda GPC, Temporada y el ID log
-- =============================================
ALTER PROCEDURE [dbo].[GES_Pre_Tienda_Guardar]
@Cod_Tienda As Varchar(50),
@Ges_Pre_GPCTienda As Ges_Pre_GPCTienda Readonly,
@Ges_Pre_PorcTemporada As Ges_Pre_PorcTemporada Readonly,
@Status    As Integer OutPut
AS
BEGIN

SET NOCOUNT ON;

Declare @Error VarChar(500)
Declare @Id Varchar(50)
Begin Try
Begin Transaction
If not Exists( Select 1
From Gestion.dbo.Ges_Pre_PresupuestoTiendaGpc gpc With(Nolock)
Inner Join  @Ges_Pre_GPCTienda pre
On gpc.Id_PreTieGpc = pre.Id_PreTieGpc)
Begin
--Insert GPC
print ('insert gpc')
Insert Into Ges_Pre_PresupuestoTiendaGpc
(
Id_PreTieGpc, Cod_Tienda, Cod_Gpc, Presupuesto, Utilizado, Stock, Usuario, Fecha_Creacion, Estacion
)
Select gpc.Id_PreTieGpc, gpc.Cod_Tienda, gpc.Cod_Gpc, gpc.Presupuesto,0, gpc.Stock, gpc.Usuario,getdate(), gpc.Estacion
From @Ges_Pre_GPCTienda gpc
Where gpc.nuevo = 'S'

If @@ERROR <> 0
Begin
Set @Status = 0
Rollback Tran
Return @Status
End

SET @Status = 1
SET @Error = 'OK'
SELECT @Error AS ERROR
End
Else
Begin
--- Actualiza GPC
print('Update GPC')
UPDATE Ges_Pre_PresupuestoTiendaGpc
SET stock = gpc.Stock, Presupuesto = gpc.Presupuesto,
Fecha_Creacion = GETDATE(), Usuario = gpc.Usuario, Estacion = gpc.Estacion
FROM Ges_Pre_PresupuestoTiendaGpc c
INNER JOIN @Ges_Pre_GPCTienda gpc
ON c.Id_PreTieGpc = gpc.Id_PreTieGpc
Where gpc.nuevo = 'N'

If @@ERROR <> 0
Begin
Set @Status = 0
Rollback Tran
Return @Status
End

SET @Status = 1
SET @Error = 'OK'
SELECT @Error AS ERROR

End

If Not Exists( Select tem.Id_PreTemp
From Gestion.dbo.Ges_Pre_PorcentajeTemporada tem With(Nolock)
Inner Join  @Ges_Pre_PorcTemporada pre
On tem.Id_PreTemp = pre.Id_PreTemp)
Begin
---Insert temporada
print ('Insert temporada')
Insert into Gestion.dbo.Ges_Pre_PorcentajeTemporada
(
Id_PreTemp, Cod_Tienda,Cod_PreTemporada, Cod_PreAnual, Cod_Temporada, Porcentaje, Usuario, Fecha_Creacion, Estacion
)

Select Id_PreTemp, Cod_tienda, Cod_Pretemporada, Cod_PreAnual, Cod_Temporada, Descuento,  Usuario, GETDATE(), Estacion
From @Ges_Pre_PorcTemporada
Where Nuevo = 'S'

If @@ERROR <> 0
Begin
Set @Status = 0
Rollback Tran
Return @Status
End
End
Else
Begin
--- Borra temporada
print ('delete temporada')
Delete temp
From Gestion.dbo.Ges_Pre_PorcentajeTemporada temp
Left join @Ges_Pre_PorcTemporada pre
On temp.Id_PreTemp = pre.Id_PreTemp
Where pre.Id_PreTemp = null
And pre.Nuevo = 'N'

If @@ERROR <> 0
Begin
Set @Status = 0
Rollback Tran
Return @Status
End

SET @Status = 1
SET @Error = 'OK'
SELECT @Error AS ERROR

--- actualiza temporada
Print('Update Temporada')
Update temp
Set Porcentaje = pre.Descuento
From Gestion.dbo.Ges_Pre_PorcentajeTemporada Temp
Inner join @Ges_Pre_PorcTemporada pre
On Temp.Id_PreTemp = pre.Id_PreTemp
Where pre.Nuevo = 'N'

If @@ERROR <> 0
Begin
Set @Status = 0
Rollback Tran
Return @Status
End

SET @Status = 1
SET @Error = 'OK'
SELECT @Error AS ERROR

End
Print ('Insert ID')
--Insert Validacion Usuario
Insert into Ges_pre_log (Cod_tienda)
Values
(
@Cod_Tienda
)

If @@ERROR <> 0
Begin
Set @Status = 0
Rollback Tran
Return @Status
End

Commit Transaction
SET @Status = 1
SET @Error = 'OK'
SELECT @Error AS ERROR
RETURN @Status
End Try
Begin Catch
If @@TRANCOUNT > 0
Begin
SELECT ERROR_MESSAGE() AS ErrorMessage;
Rollback Transaction
Set @Status = 0
Set @Error = 'try'
--Print  @@Error
Select @Error AS ERROR
Return @Status
END
Else
Begin
SELECT ERROR_MESSAGE() AS ErrorMessage;
Set @Status = 0
Set @Error = 'try'
--Print  @@Error
Select @Error AS ERROR
Return @Status
End
End Catch   
END


Muchas gracias por su ayuda
4  Programación / Bases de Datos / Query que dplica registros a partir de otra tabla en: 1 Agosto 2019, 19:42 pm
Buenas tardes.

Tengo la siguiente duda, quizas sea muy facil estoy un poco bloqueado,

tengo una tabla
Tabla 1
Código:
Registro1,
Registro2,
Registro 3
Registro4


y por otro lado tengo un otra tabla que tiene un parametro que me indica que debo usar los 4 registros de la tabla 1

Tabla 2
Código:
1,1,1,Registro 1,1,
2,1,1, Registro 2,1,
3,1,1, Todos, 1

cuando tenga el registro Todos, debería crear 4 filas y hacer esto

Código:
1,1,1,Registro 1,1,
2,1,1, Registro 2,1,
3,1,1, Registro1,1,
3,1,1, Registro2,1,
3,1,1, Registro3,1,
3,1,1, Registro4,1

Como la tabla 1 tiene pocos registros se que puedo usar un case y decirle que haga el insert normal pero cuando encuentre el Todos cree los 4 registros manuales, pero mi idea es saber como hacerlo mas automatizado para cuando me tope con una tabla mas grande no tener que hacer los insert manuales


Saludos gracias por su ayuda, espero haber sido claro
5  Foros Generales / Foro Libre / Bitcoin en: 14 Noviembre 2017, 16:13 pm
Buenos dias o tardes,
Dependiendo de que parte del globo me leen, me gustaría pedirles ayuda quiero incursionar en el mundo del bitcoin, estoy googleando y buscando información para entender lo necesario, por que les pido ayuda a ud, porque seguramente sabrán algo que me costara un poco de tiempo aprender, quizás algún consejo, ayuda para minar desde nube, es lo que mas me interesa, si alguno me puede hechar una mano con información para poder leer sobre esto, se los agradecería

Saludos  ;-)
6  Programación / Java / menu con errores en: 24 Agosto 2017, 21:40 pm
Estimados, muchas gracias de antemano los que se interesen en ayudar o tratar de ayudarme, les axplico:

Tengo este menu para ir pidiendo por teclado los datos al usuario, el menu avanza de forma automatica, luego en el ultimo casele pregunta al usuario si es que quiere ingresar un nuevo objeto o no, en cada caso a i le asigna un valor, cuando indicaba Y le asigna 0 para que al terminar sumara 1 mas y entrara nuevamente al case 1 y pregutara nuevamente los datos, el tema es que nunca entraba al case 1 empezaba desde el case 2, trate colocandole hasa un -1 al i aun asi siempre empezaba desde el case 2, bueno modificando esto ahora entro en un loop infinito, y no sale de la pregunta
Código
  1. System.out.println("¿Desea agregar un nuevo producto?, indicar \"Y\" para si o \"N\" para no: ");
, si alguno me pudiera ayudar se los agradeceria mucho saludos
PD. tengo uno que otro system basura cuando estaba tratando de trazar donde estab el error
Código
  1. package javaproducto;
  2. import java.util.*;
  3. /**
  4.  *
  5.  * @author Crisoof
  6.  */
  7. public class Main {
  8.  
  9.    public static void main(String []arg){
  10.  
  11.        Producto Lechemala = new Producto();
  12.        Producto LecheVacia = new Producto();
  13.        Nodo<Producto> Indice = new Nodo(Lechemala);
  14.        Nodo<Producto> NodoNext = new Nodo();
  15.        ListaEnlazada<Producto> sistema = new ListaEnlazada<>();        
  16.        Scanner leer = new Scanner(System.in);
  17.        boolean flag = false ;
  18.        boolean flag_in ;
  19.        String codigo = null;
  20.        String descrip = null;
  21.        double precioUni = 0;
  22.        int stock = 0;
  23.        int stockCrit = 0;
  24.        String opcion ;
  25.  
  26.        System.out.println("Estimad@ necesitamos agregar productos al sistema,favor ingresar la "
  27.                + "informacion que se pedira a continuacion");          
  28.        for(int i = 1;i <= 7;i++){            
  29.  
  30.            switch(i){                                        
  31.                case 1:
  32.                    flag = false;
  33.                    while(!flag){
  34.                    System.out.println("Ingrese el codigo del producto (Max. 10 caracteres): ");                                
  35.                    codigo = leer.nextLine();                    
  36.                        if(codigo.length() <= 10){
  37.                            System.err.println("test codigo: "+codigo);
  38.                            flag = true;
  39.                        }else{
  40.                    System.err.println("Error. Favor ingresar Maximo 10 caracteres: ");        
  41.                            flag = false;
  42.                        }
  43.                    }                    
  44.                    break;
  45.                case 2:
  46.  
  47.                    System.out.println("Indicar descripcion del producto: ");
  48.                    descrip = leer.nextLine();
  49.  
  50.                    break;
  51.                case 3:
  52.  
  53.                    flag_in = false;
  54.                    while(!flag_in){
  55.                        try{
  56.                            System.out.println("Indicar precio unitario del producto: ");                
  57.                            precioUni = leer.nextDouble();
  58.                            flag_in = true;                                          
  59.                        }catch(InputMismatchException ex){
  60.                            System.err.println("Favor indicar solo numeros para el precio unitario del producto. ");                    
  61.                            leer.nextLine();
  62.                        }
  63.                    }
  64.                    break;
  65.                case 4:
  66.  
  67.                    flag_in = false;
  68.                while(!flag_in){
  69.                    try{
  70.                        System.out.println("Indicar el stock del producto: ");                
  71.                        stock = leer.nextInt();
  72.                        flag_in = true;
  73.  
  74.                    }catch(InputMismatchException ex){
  75.                        System.err.println("Favor indicar solo numeros enteros para el stock del producto. ");                    
  76.                        leer.nextLine();
  77.                    }
  78.                }                        
  79.                    break;
  80.                case 5:
  81.                    flag_in = false;
  82.                while(!flag_in){
  83.                    try{
  84.                        System.out.println("Indicar el stock critico del producto: ");
  85.                        stockCrit = leer.nextInt();
  86.                        flag_in = true;
  87.  
  88.                    Lechemala.setCodigo(codigo);
  89.                    Lechemala.setDescripcion(descrip);
  90.                    Lechemala.setPrecioUni(precioUni);
  91.                    Lechemala.setStock(stock);
  92.                    Lechemala.setStockCritico(stockCrit);
  93.  
  94.                    sistema.insertarPrimero(Lechemala);
  95.                    }catch(InputMismatchException e){
  96.                        System.err.println("Favor indicar solo numeros enteros para el stock critico del producto. ");                    
  97.                        leer.nextLine();
  98.                    }
  99.                }
  100.                    break;
  101.                case 6:
  102.                    flag_in = false;
  103.                    while(!flag_in){
  104.                        try{
  105.  
  106.                            System.out.println("¿Desea agregar un nuevo producto?, indicar \"Y\" para si o \"N\" para no: ");                    
  107.                                opcion = leer.next();
  108.                                if (opcion.equals("Y") || opcion.equals("y")){
  109.                                    System.out.println("entre a la opcion Y");
  110.                                    flag_in = true;
  111.                                    i = 0 ;
  112.                                    System.out.println("i tiene este valor ahora"+i);
  113.  
  114.                                }else if (opcion.equals("N") || opcion.equals("n")){
  115.                                    System.out.println("entre a la opcion N");
  116.                                    flag_in = true ;
  117.                                    i = 8;
  118.                                    System.out.println("i tiene este valor ahora"+i);
  119.  
  120.                                }else
  121.                            System.err.println("Favor ingresar solo \"Y\" para si o \"N\" para no. ");                            
  122.                                flag_in = false;                        
  123.                        }catch(InputMismatchException e){
  124.                            System.err.println("Favor indicar solo Y o N (minusculas o mayusculas). ");                    
  125.                            leer.next();
  126.                        }
  127.                    }
  128.                    break;
  129.            }  
  130.        }
  131.  
  132.            for(int i =sistema.cuantosElementos();0<sistema.cuantosElementos();i--){
  133.            System.out.println("Producto en posicion :"+i);    
  134.            System.out.println(sistema.devolverDato(i).ToString());
  135.            }
  136.    }
  137.  
  138. }
7  Programación / Scripting / pequeño script de automatizacion en: 23 Noviembre 2016, 19:20 pm
Buenas tardes

quisiera si alguno tiene un tiempecillo me pudiera ayudar con un tips para hacer un pequeño script, les explico...

estoy jugando un jueguito de steam, este juego esta en fase Alpha y  por lo tanto tiene errores el tema es que cuando ejecuto el juego antes de ingresar a jugar, pero con el ejecutable ya ejecutado debo eliminar unos archivos, esto lo tengo que hacer cada vez que abro el juego, quiero automatizar esta tarea, mis dudas son las siguientes

si dejo el batch corriendo cada 2 segundos en el interior un if que pregunte por la ejecución del juego y elimine ahi los archivos, seria muy costoso en cuanto a recursos?,

la referencia del ejecutable del juego para preguntar en el if como la deberia buscar?

ejemplo pait.exe? esto ya seria la referencia a la ejecución del programa paint? o solo al archivo ejecutable de paint?

muchas gracias por su tiempo
8  Programación / Bases de Datos / [Solucionado]Duda sobre execute immediate en: 7 Abril 2016, 14:58 pm
Buenos dias,
 tengo una duda sobre la ejecucion de una sentencia mediante un execute immediate en oracle

adjunto codigo

Código:
declaRE
VAR VARCHAR2(100);
ULT_SEQ NUMBER;

BEGIN
VAR:=
'SELECT GENERAL.GOREMAL_SURROGATE_ID_SEQUENCE.NEXTVAL INTO ULT_SEQ FROM DUAL';
DBMS_OUTPUT.PUT_LINE(VAR);
--EXECUTE IMMEDIATE (VAR);
DBMS_OUTPUT.PUT_LINE(ULT_SEQ);
END;

ORA-00905: falta una palabra clave
ORA-06512: en línea 9

La sentencia contenida en el VAR si la ejecuto a mano no tiene problemas, el tema es que si la ejecuto con un execute immediate me da un error, indicado en el codigo, me imagino tendra algo que ver con que se genera el almacenamiento en la variable ULT_SEQ, alguna idea de como puedo lograr algo parecido a lo que deseo, ejecutar la sentencia select y almacenar el resultado en una variable?, esto se debe ejecutar necesariamente con un execute immediate ya que es una consulta dinamica, este bloque lo cree para simplificar la consulta, espero me puedan ayudar

Saludos
9  Programación / Bases de Datos / ayuda con error de sintaxis en: 6 Abril 2016, 16:01 pm
Hola buenos dias, les agradeceria si me pueden ayudar estoy un poco colapsado y quizas no veo el error, espero me puedan ayudar

Código:
CREATE OR REPLACE PROCEDURE SP_SEQ_TEST
AS

NOM_SEQ  VARCHAR2(100);
ULT_SEQ  NUMBER;
VAL_SEQ  NUMBER;
NEXT_SEQ NUMBER;
VAR_EXEC VARCHAR2(200);


CURSOR C_SEQ IS
    SELECT seQuence_name, LAST_NUMBER   
      from all_sequenceS
     where sequence_name like '%SPRIDEN_SURROGATE%'
        or sequence_name like '%GTVZIPC_SURROGATE%'
        or sequence_name like '%STVCNTY_SURROGATE%'
        or sequence_name like '%SPRADDR_SURROGATE%'
        or sequence_name like '%SPRTELE_SURROGATE%'
        or sequence_name like '%SPBPERS_SURROGATE%'
        or sequence_name like '%GOREMAL_SURROGATE%'
        or sequence_name like '%SPREMRG_SURROGATE%'
        or sequence_name like '%GOBINTL_SURROGATE%'
        or sequence_name like '%SPRMEDI_SURROGATE%'
        or sequence_name like '%SPRHOLD_SURROGATE%'
        or sequence_name like '%SORFOLK_SURROGATE%'
        or sequence_name like '%SGBSTDN_SURROGATE%'
        or sequence_name like '%SGRSATT_SURROGATE%'
        or sequence_name like '%SGRSCMT_SURROGATE%'
        or sequence_name like '%SGRCHRT_SURROGATE%'
        or sequence_name like '%SIBINST_SURROGATE%'
        or sequence_name like '%SGRADVR_SURROGATE%'
        or sequence_name like '%SHRTTRM_SURROGATE%'
        or sequence_name like '%SHRTCKN_SURROGATE%'
        or sequence_name like '%SHRTCKG_SURROGATE%'
        or sequence_name like '%SHRTCKL_SURROGATE%'
        or sequence_name like '%SARADAP_SURROGATE%'
        or sequence_name like '%SARAPPD_SURROGATE%'
        or sequence_name like '%SORHSCH_SURROGATE%'
        or sequence_name like '%SYRCRMI_SURROGATE%'
        or sequence_name like '%TBRACCD_SURROGATE%'
        or sequence_name like '%STVSBGI_SURROGATE%'
        or sequence_name like '%SORBTAG_SURROGATE%'
        or sequence_name like '%SORBTAL_SURROGATE%'
        or sequence_name like '%SHRTGRD_SURROGATE%'
        or sequence_name like '%SHBTATC_SURROGATE%'
        or sequence_name like '%SHRTATC_SURROGATE%'
        or sequence_name like '%SORBDMO_SURROGATE%'
        or sequence_name like '%SOBSBGI_SURROGATE%'
        or sequence_name like '%STVBCHR_SURROGATE%'
        or sequence_name like '%SORBCHR_SURROGATE%'
        or sequence_name like '%SORBCMT_SURROGATE%'
        or sequence_name like '%SORTEST_SURROGATE%'
        or sequence_name like '%STVCIPC_SURROGATE%'
        or sequence_name like '%STVTESC_SURROGATE%'
        or sequence_name like '%STVTSRC_SURROGATE%'
        or sequence_name like '%SSBSECT_SURROGATE%'
        or sequence_name like '%SSRLINK_SURROGATE%'
        or sequence_name like '%SSBXLST_SURROGATE%'
        or sequence_name like '%SSRXLST_SURROGATE%'
        or sequence_name like '%SSRMEET_SURROGATE%'
        or sequence_name like '%SIRASGN_SURROGATE%'
        or sequence_name like '%SFBETRM_SURROGATE%'
        or sequence_name like '%SFRSTCR_SURROGATE%'
        or sequence_name like '%SGRSATT_SURROGATE%'
        or sequence_name like '%TBRMEMO_SURROGATE%'
        or sequence_name like '%SARCHKL_SURROGATE%'
        or sequence_name like '%SPRHOLD_SURROGATE%'
        or sequence_name like '%SGRSCMT_SURROGATE%'
        or sequence_name like '%SHRMRKS_SURROGATE%'
        or sequence_name like '%SHRMRKA_SURROGATE%'
        or sequence_name like '%SMBSLIB_SURROGATE%'
        or sequence_name like '%SMRSWAV_SURROGATE%'
        or sequence_name like '%SMRSWPV_SURROGATE%'
        or sequence_name like '%SHRDGMR_SURROGATE%'
       and sequence_owner ='SATURN';
       
       V_CUR C_SEQ%ROWTYPE;
 BEGIN
       
      OPEN C_SEQ;
      LOOP
     
      FETCH C_SEQ INTO V_CUR;
      EXIT WHEN C_SEQ%NOTFOUND;
           
            VAR_EXEC:= 'SELECT SATURN.'||V_CUR.SEQUENCE_NAME||'.NEXTVAL INTO '||ULT_SEQ||' FROM DUAL';
            EXECUTE IMMEDIATE (VAR_EXEC) ; -- esta es la linea 87
           
            VAL_SEQ := V_CUR.LAST_NUMBER - ULT_SEQ;
           
            IF VAL_SEQ > 0 THEN
           
            VAR_EXEC :='ALTER SEQUENCE SATURN.'||V_CUR.SEQUENCE_NAME
            ||' INCREMENT BY '||VAL_SEQ;
           
            EXECUTE IMMEDIATE (VAR_EXEC);
           
            VAR_EXEC := 'SELECT SATURN.'||V_CUR.SEQUENCE_NAME||'.NEXTVAL FROM DUAL';
           
            EXECUTE IMMEDIATE (VAR_EXEC);
           
            VAR_EXEC :='ALTER SEQUENCE SATURN.'||V_CUR.SEQUENCE_NAME
            ||' INCREMENTE BY 1';
           
            EXECUTE IMMEDIATE (VAR_EXEC);
     
            END IF;
                 
      END LOOP;
      CLOSE C_SEQ; 
 END; 


ORA-00936: falta una expresión
ORA-06512: en "BANINST1.SP_SEQ_TEST", línea 87
ORA-06512: en línea 1
   

tambien intente hacerlo con un cursor de manera distinta pero casualmente llegue al mismo error xD
Código:

declare

NOM_SEQ  VARCHAR2(100);
ULT_SEQ  NUMBER;
VAL_SEQ  NUMBER;
NEXT_SEQ NUMBER;

BEGIN

FOR CUR IN (
    SELECT seQuence_name, LAST_NUMBER   
      from all_sequenceS
     where sequence_name like '%SPRIDEN_SURROGATE%'
        or sequence_name like '%GTVZIPC_SURROGATE%'
        or sequence_name like '%STVCNTY_SURROGATE%'
        or sequence_name like '%SPRADDR_SURROGATE%'
        or sequence_name like '%SPRTELE_SURROGATE%'
        or sequence_name like '%SPBPERS_SURROGATE%'
        or sequence_name like '%GOREMAL_SURROGATE%'
        or sequence_name like '%SPREMRG_SURROGATE%'
        or sequence_name like '%GOBINTL_SURROGATE%'
        or sequence_name like '%SPRMEDI_SURROGATE%'
        or sequence_name like '%SPRHOLD_SURROGATE%'
        or sequence_name like '%SORFOLK_SURROGATE%'
        or sequence_name like '%SGBSTDN_SURROGATE%'
        or sequence_name like '%SGRSATT_SURROGATE%'
        or sequence_name like '%SGRSCMT_SURROGATE%'
        or sequence_name like '%SGRCHRT_SURROGATE%'
        or sequence_name like '%SIBINST_SURROGATE%'
        or sequence_name like '%SGRADVR_SURROGATE%'
        or sequence_name like '%SHRTTRM_SURROGATE%'
        or sequence_name like '%SHRTCKN_SURROGATE%'
        or sequence_name like '%SHRTCKG_SURROGATE%'
        or sequence_name like '%SHRTCKL_SURROGATE%'
        or sequence_name like '%SARADAP_SURROGATE%'
        or sequence_name like '%SARAPPD_SURROGATE%'
        or sequence_name like '%SORHSCH_SURROGATE%'
        or sequence_name like '%SYRCRMI_SURROGATE%'
        or sequence_name like '%TBRACCD_SURROGATE%'
        or sequence_name like '%STVSBGI_SURROGATE%'
        or sequence_name like '%SORBTAG_SURROGATE%'
        or sequence_name like '%SORBTAL_SURROGATE%'
        or sequence_name like '%SHRTGRD_SURROGATE%'
        or sequence_name like '%SHBTATC_SURROGATE%'
        or sequence_name like '%SHRTATC_SURROGATE%'
        or sequence_name like '%SORBDMO_SURROGATE%'
        or sequence_name like '%SOBSBGI_SURROGATE%'
        or sequence_name like '%STVBCHR_SURROGATE%'
        or sequence_name like '%SORBCHR_SURROGATE%'
        or sequence_name like '%SORBCMT_SURROGATE%'
        or sequence_name like '%SORTEST_SURROGATE%'
        or sequence_name like '%STVCIPC_SURROGATE%'
        or sequence_name like '%STVTESC_SURROGATE%'
        or sequence_name like '%STVTSRC_SURROGATE%'
        or sequence_name like '%SSBSECT_SURROGATE%'
        or sequence_name like '%SSRLINK_SURROGATE%'
        or sequence_name like '%SSBXLST_SURROGATE%'
        or sequence_name like '%SSRXLST_SURROGATE%'
        or sequence_name like '%SSRMEET_SURROGATE%'
        or sequence_name like '%SIRASGN_SURROGATE%'
        or sequence_name like '%SFBETRM_SURROGATE%'
        or sequence_name like '%SFRSTCR_SURROGATE%'
        or sequence_name like '%SGRSATT_SURROGATE%'
        or sequence_name like '%TBRMEMO_SURROGATE%'
        or sequence_name like '%SARCHKL_SURROGATE%'
        or sequence_name like '%SPRHOLD_SURROGATE%'
        or sequence_name like '%SGRSCMT_SURROGATE%'
        or sequence_name like '%SHRMRKS_SURROGATE%'
        or sequence_name like '%SHRMRKA_SURROGATE%'
        or sequence_name like '%SMBSLIB_SURROGATE%'
        or sequence_name like '%SMRSWAV_SURROGATE%'
        or sequence_name like '%SMRSWPV_SURROGATE%'
        or sequence_name like '%SHRDGMR_SURROGATE%'
       and sequence_owner ='SATURN'
       )
       
      LOOP -- esta es la linea 78
            EXECUTE IMMEDIATE 'SELECT SATURN.'||CUR.SEQUENCE_NAME||'.NEXTVAL INTO '||ULT_SEQ||' FROM DUAL';
            VAL_SEQ := CUR.LAST_NUMBER - ULT_SEQ;
           
            IF VAL_SEQ > 0 THEN
         
            EXECUTE IMMEDIATE 'ALTER SEQUENCE SATURN.'||CUR.SEQUENCE_NAME
            ||' INCREMENT BY '||VAL_SEQ;
           
            EXECUTE IMMEDIATE 'SELECT SATURN.'||CUR.SEQUENCE_NAME||'.NEXTVAL FROM DUAL';
           
            EXECUTE IMMEDIATE 'ALTER SEQUENCE SATURN.'||CUR.SEQUENCE_NAME
            ||' INCREMENTE BY 1';
     
            END IF;
           
      END LOOP;
       
 END; 

ORA-00936: falta una expresión
ORA-06512: en línea 78

muchas gracias por su ayuda saludos
10  Programación / Scripting / Se puede contar un dbf o xlsx o xls en: 27 Marzo 2015, 16:31 pm
Hola Buenos tardes,

una pregunta, es posible  contar las celdas de un excel siempre y cuanto no estén vacías?. e estado buscando info y solo me salen funciones de excel nada con el bat, quiero automatizar ese proceso y no me sale nada, o sera mejor automatizarlo con un macro?

Gracias por su tiempo Saludos
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines