04-11-2009, 06:35 PM
|
#1
|
|
Amigo SE
Registrado em: Oct 2008
Localização: Bento Gonçalves - RS
Posts: 167
Agradecido 496 Vezes em 98 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
|
DB Mass insert
Ae!
Mais um scriptzinho meu aí pro pessoal. A idéia deste Script é simples, você junta todos os SQLs em um só, e depois insere este SQL na database.
@echo off
set mysqlBinPath=C:\Arquivos de programas\MySQL\MySQL Server 5.1\bin
set user=root
set pass=root
set db=l2jdb
set host=localhost
set mysqldumpPath="%mysqlBinPath%\mysqldump"
set mysqlPath="%mysqlBinPath%\mysql"
echo joining SQLs!
copy /b *.sql insert.sql
echo Adding files!
%mysqlPath% -h %host% -u %user% --password=%pass% -D %db% < insert.sql
del insert.sql
echo secretwarez.net
pause
Em azul, estão os valores variaveis do seu servidor, altere-os de acordo com suas informações. Depois disso, basta colocá-lo em uma pasta com todas as SQLs que tu deseja inserir e executar.
Lembrando, que para o script ser funcional: a pasta não pode ter outro insert.sql, e é claro, todos os SQLs que estão na pasta devem ser totalmente compativeis com o seu servidor
Agora, partirei para a explicação do código. Leia a partir daqui se você se interessar por saber o que cada parte estará fazendo, o essencial está acima.
copy /b *.sql insert.sql -> isto irá reunir todos os SQLs em apenas um que será insert.sql
%mysqlPath% -h %host% -u %user% --password=%pass% -D %db% < insert.sql -> isto irá inserir o insert.sql na sua database
del insert.sql -> isso irá deletar o insert.sql, depois, é claro de ele ter sido inserido na sua database. Isto pode ser removido, no caso de você não querer deletar o insert.sql
Muitos, agora, perguntaram, ivan12, por que reunir todos num só para inserir? Não era mais fácil inserir todos de uma vez só?
Não é possível inserir todos de uma vez só, o script não aceitar isso, a não ser que se explore e se vá mais a fundo no código Batch. Por isso a idéia de juntar todos em um só, pois se for inserir um individual apenas, ele aceita normalmente.
Mas como que o database_installer.bat do meu servidor insere todos de uma vez só e não acusa nem um poblema?
Isso é simples, eles criaram criaram um código para cada SQL a ser inserido. Eu não posso fazer isso, pois não posso colocar um nome no código, se eu fizesse isso, cada user teria que trocar no meu código ou nos seus SQLs, e assim o script perde o sentido, já que se trata de economizar tempo.
Como o fórum não permite copiar e colar, eu irei anexar aqui no final do post.
|
|
|