Comandos de controle de transação no OpenEdge SQL

Escrito por Marcos Kirchner em 8 de dezembro de 2011, 16:27h
Os comando COMMIT e ROLLBACK são usados para controle de transações, mas o engine SQL do OpenEdge não aceita estes comandos diretamente. [Leia mais]

Categorias: Banco de dados | Programação | Progress

Tags: , , ,

Tratamento de erros com blocos CATCH / FINALLY

Escrito por Marcos Kirchner em 26 de fevereiro de 2010, 17:43h
Uma introdução ao tratamento estruturado de erros no OpenEdge. [Leia mais]

Categorias: Programação | Progress

NO-ERROR não impede a ocorrência de erros

Escrito por Marcos Kirchner em 15 de fevereiro de 2010, 13:48h
Entenda o que a cláusula NO-ERROR pode fazer de bom (ou mal) por você. [Leia mais]

Categorias: Programação | Progress

Geração de logs via código 4GL / ABL

Escrito por Marcos Kirchner em 18 de março de 2009, 10:50h
O OpenEdge disponibiliza um gerenciador de logs que pode ser utilizado para gerar mensagens de debug ou troubleshooting a partir de código 4GL / ABL. Sua utilização é simples e resolve alguns problemas conhecidos de outras alternativas. [Leia mais]

Categorias: Programação | Progress

Tags:

Envio de sentenças SQL via DataServer

Escrito por Marcos Kirchner em 12 de março de 2009, 08:05h
Veja como é simples embutir sentenças SQL nos programas 4GL / ABL. [Leia mais]

Categorias: DataServer | Oracle | Programação | SQL Server

Tags: ,

Compilação de programas para executar em Webspeed.

Escrito por Adriano Corrêa em 4 de fevereiro de 2009, 14:34h
Regras para executar programas em Webspeed [Leia mais]

Categorias: Ambiente | Programação | WebSpeed

Tags: , , ,

Stored Procedures SQL Server em programas Progress

Escrito por Marcos Kirchner em 4 de fevereiro de 2009, 14:31h
Como utilizar Stored Procedures SQL Server em um programa Progress 4GL / ABL [Leia mais]

Categorias: Banco de dados | DataServer | Programação | SQL Server

Tags:

Bases Progress com fuso-horário diferentes

Escrito por Eloi Rene Pscheidt em 28 de janeiro de 2009, 08:31h
Existem situações aonde informações de horário ou até mesmo datas necessitam serem informadas para um sistema. Algumas vezes esta informação deve ser preenchida pelo usuário, porém em outras o próprio sistema deve obtê-las de forma automatizada, evitando erros de digitação, fraudes ou simplesmente para facilitar o trabalho. Quando esta informação é obtida de forma automática surge à dúvida se é possível confiar no horário que está sendo apresentado pelo computador do usuário. Em ambientes corporativos geralmente os administradores de redes definem regras que garantem esse tipo de informação. Mas criar uma aplicação baseada nessa confiança não seria a melhor alternativa.Em linguagem de programação Progress é possível definir uma origem mais confiável para obter informações automáticas de datas e horas. É possível escolher, a qualquer momento na aplicação, que as datas serão obtidas do servidor onde um determinado banco está carregado ou localmente da máquina do usuário. Isso é feito utilizando a variável de sessão SESSION, conforme o exemplo a seguir:SESSION:TIME-SOURCE = "mgadm".DISPLAY STRING(TIME,"HH:MM:SS"). Quando este código for executado será exibido o horário utilizado no servidor onde o banco "mgadm" está servido.O próximo código, ao invés de obter o horário de um servidor, exibe o horário do equipamento utilizado pelo usuário:SESSION:TIME-SOURCE = "local".DISPLAY STRING(TIME,"HH:MM:SS").   Este é o  comportamento padrão de um programa Progress. Se a origem não for alterada em momento algum, ela sempre será obtida do computador local. Este artifício muitas vezes pode trazer problemas para ambientes onde os servidores de bancos de dados e os usuários estão geograficamente distantes, em lugares com fuso-horário diferentes. Essa situação é agravada com a adoção de horários alternativos por alguns Estados, como o nosso Horário Brasileiro de Verão. Para suportar este cenário é possível em um mesmo servidor carregar bases de dados com horários diferentes. No momento de carga da base de dados o horário da máquina é obtido pelo processo servidor. Alterações de horário efetuadas após a carga não interferem nos bancos já carregados. Isso permite configurar um fuso-horário para cada banco de dados, utilizando para isso a variável de ambiente TZ (Time Zone). Neste exemplo, vamos carregar dois bancos de dados em um mesmo servidor, com diferença de 1 hora entre cada um:export TZ=FST2FDTproserve banco1 <demais parâmetros>export TZ=BST3proserve banco2 <demais parâmetros>   A sintaxe utilizada neste exemplo para definição da variável TZ é para ambientes UNIX/Linux. Para ambientes Windows os valores são os mesmos, apenas substitua o comando export por set.A seguir alguns valores válidos para a variável de ambiente TZ, com o seu descritivo:GMT0  --> Greenwich Mean TimeUTC0 --> Universal Coordinated TimeFST2FDT --> Fernando De Noronha StdBST3 --> Brazil Standard TimeWST4WDT --> Western Standard (Brazil)AST5ADT --> Acre Standard Time Estes valores foram obtidos do site: http://science.ksc.nasa.gov/software/winvn/userguide/3_1_4.htm  

Categorias: Ambiente | Banco de dados | Programação | Progress

Tags: , ,

Acesso LogMeIn

Informe o código PIN: