19 setembro 2008

[SQL SERVER] ALTERAR IDIOMA(LANGUAGE) DO BANCO DE DADOS

Quem ja teve dor de cabeça com idiomas do banco de dados utilizado para desenvolver um sistema diferente do idioma do banco de dados utilizado pelo cliente, sabe como é importante tratar isso na aplicação, mas, pra quem não fez esse tratamento, é so alterar o idioma do banco do seu cliente e deixar igual ao seu. Logo abaixo, tem um passo a passo para fazer essa alteração.

--EXIBIR TODOS OS IDIOMAS EXISTENTES NO BANCO

USE MASTER

SELECT * FROM SYSLANGUAGES


-- EXIBIR A ATUAL CONFIGURACAO DE IDIOMA

USE NOMEDOSEUBANCO

SELECT @@language, @@langid


-- DEFINIR O IDIOMA DEFAULT PARA O SERVIDOR (27 = PORTUGUES)

EXEC sp_configure 'default language', 27


-- DEFINIR O IDIOMA PARA CADA LOGIN DO SERVIDOR

EXEC sp_defaultlanguage 'sa', 'Português (Brasil)'


-- COMANDO PARA RECONFIGURAR ALTERACOES FEITAS

RECONFIGURE


-- APOS ISSO SERA PRECISO DAR UM STOP e START NO SQL SERVER

18 setembro 2008

[SQL SERVER] DESABILITAR RELACIONAMENTOS DE UMA TABELA

Para desabilitar todos os relacionamentos de uma tabela a escolha, é so utilizar esse script, alterando apenas o nome da tabela. Depois so não pode esquecer de habilitar os relacionamentos novamente.

DECLARE
@NOME_FOREIGN VARCHAR(100),
@PARENT INT,
@NOME_TABELA VARCHAR(100)
DECLARE NOMES_FOREIGN CURSOR FOR
SELECT NAME, PARENT_OBJ FROM DBO.SYSOBJECTS
WHERE OBJECTPROPERTY(ID,N'ISFOREIGNKEY') = 1
and name like '%NOME DA TABELA%'

OPEN NOMES_FOREIGN

FETCH NEXT FROM NOMES_FOREIGN INTO @NOME_FOREIGN, @PARENT

WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @NOME_TABELA = NAME FROM DBO.SYSOBJECTS WHERE ID = @PARENT

PRINT 'DESABILITA CHAVE ESTRANGEIRA: ' + @NOME_TABELA + ' - ' + @NOME_FOREIGN
EXEC('ALTER TABLE [' + @NOME_TABELA + '] NOCHECK CONSTRAINT [' + @NOME_FOREIGN + ']')

FETCH NEXT FROM NOMES_FOREIGN INTO @NOME_FOREIGN, @PARENT
END

CLOSE NOMES_FOREIGN
DEALLOCATE NOMES_FOREIGN

[SQL SERVER] HABILITAR RELACIONAMENTOS DE UMA TABELA

DECLARE
@NOME_FOREIGN VARCHAR(100),
@PARENT INT,
@NOME_TABELA VARCHAR(100)

DECLARE NOMES_FOREIGN CURSOR FOR
SELECT NAME, PARENT_OBJ FROM DBO.SYSOBJECTS
WHERE OBJECTPROPERTY(ID,N'ISFOREIGNKEY') = 1
-- AND NAME LIKE '%' + @SISTEMA + '%' ESCAPE '#'
and name like '%NOME DA TABELA%'

OPEN NOMES_FOREIGN

FETCH NEXT FROM NOMES_FOREIGN INTO @NOME_FOREIGN, @PARENT

WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @NOME_TABELA = NAME FROM DBO.SYSOBJECTS WHERE ID = @PARENT

PRINT 'HABILITA CHAVE ESTRANGEIRA: ' + @NOME_TABELA + ' - ' + @NOME_FOREIGN
EXEC('ALTER TABLE [' + @NOME_TABELA + '] CHECK CONSTRAINT [' + @NOME_FOREIGN + ']')

FETCH NEXT FROM NOMES_FOREIGN INTO @NOME_FOREIGN, @PARENT
END

CLOSE NOMES_FOREIGN
DEALLOCATE NOMES_FOREIGN

[MAKER - WEBRUN] Remover código fonte dos sistemas

Para quem vai instalar algum sistema feito em maker em algum cliente, e não quer seu código fonte a mercê, basta publicar seu sistema, deletar algumas tabelas FR, colocar o tomcat ou IIS e pronto.


Primeiro passo é exportar o sistema pelas configurações do webrun

Photobucket

Opção Publicar WAR
Photobucket

Ele vai gerar um arquivo .zip, que você deverá renomear para .war. O nome que você der a esse arquivo vai ser o nome para acessar o sistema. Exemplo, se renomear o arquivo para sistemas.war, para acessar o sistema, o link sera http://localhost:8080/sistemas.
Lembrando que será necessário instalar o tomcat, e esse arquivo deverá ficar na mesma pasta

Depois de publicar, é so deletar as tabelas FR.
Não esqueça o backup

OBS: ESSAS SÃO AS TABELAS QUE NÃO DEVEM SER DELETADAS
FR_SISTEMA
FR_USUARIO
FR_GRUPO
FR_USUARIO_GRUPO
FR_USUARIO_SISTEMA
FR_PERMISSAO
FR_LOG
FR_LOG_EVENT
FR_RELATORIO
FR_TAREFA
FR_TAREFA_TEMPO
FR_REGRAS
FR_SESSAO
FR_SESSAO_VI

Deletar essa tabelas é a parte chata...
Após essas alterações, não será mais possível fazer alteração no código fonte