Git Product home page Git Product logo

heliomarpm / sqldatatransfer Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 2.0 4.92 MB

Ferramenta para Cópia de Dados SQL Server, que foi desenvolvida para auxiliar na geração de arquivos e cópia eficiente de dados entre bases de dados SQL Server.

Home Page: https://navto.me/heliomarpm

License: MIT License

C# 81.60% TSQL 18.40%
sqlserver-datatransfer bulkcopy bulkinsert copydata data-transfer etl data-migration data-migration-tool etl-automation etl-job

sqldatatransfer's Introduction


🎲 SQL Data Transfer

CodeFactor Publish

paypal url kofi url liberapay url releases url GitHub Downloads license url

C#  .Net 4.8

O SQLDataTransfer é uma ferramenta para Cópia de Dados SQL Server, que foi desenvolvida para auxiliar na geração de arquivos e cópia eficiente de dados entre bases de dados SQL Server. Todo o processameno é otimizado utilizando BulkCopy, o que significa que as tabelas de origem e destino precisam ter a mesma estrutura de dados.

Com a interface gráfica (GUI) permite que os usuários selecionem as tabelas que desejam copiar apenas clicando nelas, o que torna a ferramenta mais intuitiva e fácil de usar.
Além disso, a opção de linha de comando oferece flexibilidade adicional, permitindo aos usuários especificar o que deve ser copiado através do arquivo de configuração do aplicativo (app.config). Isso inclui a possibilidade de determinar quais registros devem ser copiados usando scripts SQL e cópiar da origem para arquivos csv como destino.

Essa abordagem híbrida, combinando a interface gráfica e a linha de comando, é ótima, pois atende a diferentes necessidades e preferências dos usuários. Alguns usuários podem preferir a simplicidade da GUI, enquanto outros podem preferir a flexibilidade e o controle da linha de comando.

Com essa ferramenta, os usuários poderão copiar dados entre bases de dados SQL Server de maneira mais eficiente, aproveitando a funcionalidade de bulk e facilitando o processo de migração, sincronização ou backup de dados.

Características Principais

  • Cópia otimizada de dados entre bases de dados SQL Server.
  • Interface gráfica intuitiva para seleção de tabelas a serem copiadas.
  • Suporte para cópia personalizada usando linha de comando e scripts SQL.
  • Utilização do arquivo de configuração (app.config) para determinar o que deve ser copiado.
  • Propriedades de configuração durante a copia como:
    • Ativar/Desativar constrainsts durante a copia
    • Ativar/Desativar bloqueio da tabela de origem durante a cópia
    • Ativar/Desativar disparo de triggers nas tabelas de destino
    • Opção de truncate na tabela de destino, antes de inicar a cópia

Como Usar

Interface Gráfica (GUI)

  1. Execute o arquivo executável da ferramenta.
  2. Na interface gráfica, informe as conexões de base e selecione as tabelas que deseja copiar.
  3. Clique no botão "Copy" para iniciar o processo de cópia de dados.
  4. Acompanhe o progresso da cópia na interface gráfica e aguarde a conclusão.
  5. Um log de resultado é apresentado durante todo o processo de cópia

Linha de Comando

  1. Abra o arquivo de configuração (app.config) no local onde o executável está localizado.
  2. Edite o arquivo de configuração para definir quais registros devem ser copiados usando scripts SQL.
  3. Execute o arquivo executável da ferramenta a partir da linha de comando.
  4. Aguarde o processo de cópia de dados ser concluído e verifique o resultado.

Exemplos de Uso

Interface GUI

Interface GUI

-- ou --

Interface CLI

Interface CI

  • Arquivo de Config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<configSections>
		<section name="transferSection" type="SQLDataTransfer.CLI.Configuration.TransferSection, SQLDataTransfer.CLI"/>
	</configSections>

	<transferSection>
		<transfers>
			<add name="LOCAL" disabled="false"
				 connectionSource="Data Source=NB-TOPONE\SQLEXPRESS;Initial Catalog=DB_IDE;Integrated Security=SSPI;Persist Security Info=False;"
				 connectionTarget="Data Source=NB-TOPONE\SQLEXPRESS;Initial Catalog=DB_IDE_DEV;Integrated Security=SSPI;Persist Security Info=False;"
				 bulkCopyTimeout="18000"
				 bulkBatchSize="20000"
				 tableLock="true"
				 checkConstraints="false"
				 fireTriggers="false">
				<tables>
					<add name="dbo.TB_USUARIO"	truncate="true" updateStatistics="true"/>
					<add name="dbo.TB_REGIAO"	truncate="true" updateStatistics="true"/>
					<add name="dbo.TB_UF"		truncate="true" updateStatistics="true"/>
					<add name="dbo.TB_CIDADE"	truncate="true" updateStatistics="true"/>
				</tables>
			</add>
			<add name="HL_HOMOLOG" disabled="true"
				 connectionSource="Data Source=SERV_PROD;Initial Catalog=DB_CAS;Persist Security Info=True;User ID=sa; Password=sa;"
				 connectionTarget="Data Source=SERV_HML;Initial Catalog=DB_CAS;Persist Security Info=True;User ID=sa; Password=sa;"
				 bulkCopyTimeout="18000"
				 bulkBatchSize="20000"
				 tableLock="true"
				 checkConstraints="false"
				 fireTriggers="false">
				<tables>
					<add name="dbo.TB_OPERACAO"/>
					<add name="TB_CLIENTE" selectSource="Scripts\TB_CLIENTE.SQL" updateStatistics="true"/>
					<add name="TB_COTACAO_DIA" updateStatistics="true" truncate="true"/>
					<add name="TB_GRUPO_ECONOMICO" toCsvFile="Extracao\dbo.TB_GRUPO_ECONOMICO_{DateTime}.csv"/>
					<add name="SpaceUsed" selectSource="Scripts\SpaceUsed.sql" toCsvFile="Extracao\{Date}_SpaceUsed_{Time}.csv"/>
				</tables>
			</add>
		</transfers>
	</transferSection>

</configuration>

Contribuição

Você pode contribuir para o desenvolvimento do ResizeIt.

  • ⭐ Dando uma estrela neste repositório (isso é muito importante e não custa nada)
  • 🪲 Relatando problemas ou solitando recursos (Issues)
  • 💻 Enviando solicitações de recursos (Pull Requests)
  • 📄 Melhorando esta documentação
  • 🚨 Compartilhando este projeto e recomendando-o aos seus amigos
  • 💵 Apoiando este projeto no GitHub Sponsors, PayPal, Ko-fi ou Liberapay (você decide) 😉

Donate

Se você aprecia isso, considere doar para o desenvolvedor.

paypal url kofi url liberapay url github sponsors url

Licença

O SQLDataTransfer é distribuído sob a licença MIT. Consulte o arquivo LICENSE para obter mais informações. MIT © Heliomar P. Marques 🔝

Agradecimentos

Agradeço por utilizar este software. Espero que ele seja útil e facilite suas tarefas de cópia de dados.
Se tiver alguma dúvida ou sugestão, não hesite em perguntar.

Última Versão

sqldatatransfer's People

Contributors

heliomarpm avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.