O algoritmo sysCreateProcedures.py
é responsável por criar arquivos .sql contendo o código de todas as procedures existentes em um banco de dados. Ele solicita ao usuário as informações de conexão com o banco de dados, a pasta onde os arquivos serão salvos e, em seguida, extrai as procedures e as salva individualmente em arquivos .txt. Por fim, o algoritmo utiliza um comando cmd para converter esses arquivos .txt em arquivos .sql prontos para uso.
Antes de executar o algoritmo, certifique-se de atender aos seguintes requisitos:
-
Ter o Python instalado na versão mais recente. Caso não tenha, você pode baixar o Python em python.org.
-
O usuário informado para autenticação no banco de dados deve possuir permissões adequadas para acessar as seguintes tabelas de sistema do SQL:
GRANT SELECT ON SYS.SQL_MODULES TO seu_usuario; GRANT SELECT ON SYS.OBJECTS TO seu_usuario; GRANT SELECT ON SYS.SCHEMAS TO seu_usuario;
Para realizar a instalação, siga estas etapas:
- Clone o repositório do GitHub:
git clone https://github.com/Wiryco/sys-create-procedures.git
- Navegue até o diretório do projeto:
cd sus-create-procedures
- Instale as dependências usando pip:
pip install -r requirements.txt
- Execute o codigo principal python
sysCreateProceduresEnv.py
, que é o arquivo atualizo que usa as configurações definidar no.env
, ou osysCreateProcedures.py
que realiza as perguntas das informações para o usuário:
python sysCreateProceduresEnv.py
python sysCreateProcedures.py
projeto/
└── sysCreateProcedure.py
└── sysCreateProcedureEnv.py
└── requirements.txt
└── .env
Para executar a ferramenta, siga os passos abaixo:
- Certifique-se de ter atendido aos requisitos mencionados acima, incluindo a instalação das bibliotecas necessárias.
- Baixe o arquivo
sysCreateProcedures.py
para a sua máquina. - Abra um terminal ou prompt de comando na pasta onde o arquivo
sysCreateProcedures.py
está localizado. - Execute o seguinte comando para iniciar a ferramenta:
python sysCreateProcedures.py
- Ao executar o script, o algoritmo solicitará as seguintes informações do usuário:
- Host do banco de dados.
- Nome de usuário para autenticação.
- Senha do usuário.
- Nome do banco de dados a ser acessado.
- Pasta onde os arquivos .sql serão salvos.
- Com as informações de conexão fornecidas, o algoritmo se conectará ao banco de dados e extrairá todas as procedures usando o comando
sp_helptext
. O script é o seguinte:SELECT ROW_NUMBER() OVER (ORDER BY B.NAME) SEQUENCIAL, CONCAT(C.NAME, '.', B.NAME) DS_OBJETO FROM SYS.SQL_MODULES A WITH(NOLOCK) JOIN SYS.OBJECTS B WITH(NOLOCK) ON A.[OBJECT_ID] = B.[OBJECT_ID] JOIN SYS.SCHEMAS C WITH(NOLOCK) ON B.[SCHEMA_ID] = C.[SCHEMA_ID] WHERE B.[TYPE] = 'P'
- As procedures serão salvas individualmente em arquivos .txt na pasta especificada pelo usuário.
- O algoritmo, então, executará um comando cmd para converter cada arquivo .txt em um arquivo .sql pronto para uso.
- Ao finalizar a criação dos arquivos .sql, a aplicação será encerrada e o usuário terá acesso a todos os códigos das procedures do banco de dados em arquivos separados.
O algoritmo sysCreateProcedures.py
é uma ferramenta útil para extrair e armazenar as procedures de um banco de dados em arquivos .sql. Certifique-se de atender aos requisitos e de que o usuário possua as permissões necessárias no banco de dados para garantir o correto funcionamento da aplicação.
Esperamos que essa ferramenta seja útil para suas atividades de desenvolvimento e análise de banco de dados!
Foi implementado uma nova versão do algoritmo que coleta as informações de conexão com o bando de dados direto do arquivo .env
. O script é o sysCreateProceduresEnv.py
.
O arquivo .env
é usado para armazenar variáveis de ambiente que o seu projeto python precisa para funcionar corretamente.
Aqui está a estrutura básica do arquivo .env
para este projeto:
serverName = ''
dataBase = ''
userName = ''
password = ''
driveConnection = ''
pathSaveFiles = '' # Exemplo: pathSaveFiles = 'C:\\Teste\\testeClass\\'
Dessa forma, não precisa ser digitado nenhuma informação durante a execução do script.