EXECUTAR QUERY NO MYSQL - PERGUNTA DE LEIGO

 Tópico anterior Próximo tópico Novo tópico

EXECUTAR QUERY NO MYSQL - PERGUNTA DE LEIGO

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#324964 - 10/10/2009 09:14:35

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Pessoal, bom dia.....

Precisarei instalar meus sistemas em clientes (e hoje ainda vou ter que fazer isso), e precisarei instalar na máquina do cliente o MySQL.
Até aí, sem problemas. Instalo. Só que eu não queria ter que instalar o software FRONT dele no cliente, mas eu preciso criar 1 banco de dados e as tabelas deste banco lá no cliente.
No meu FRONT aquí em desenvolvimento, eu criei já o .SQL de criação de toda a estrutura, mas como EXECUTAR este .SQL no MySQL sem ser pelo front??? Alguém poderia me dar um HELP????

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

#324966 - 10/10/2009 09:21:48

TECLA
SAO PAULO
Cadast. em:Janeiro/2001


Membro da equipe

Última edição em Editado em 10/10/2009 09:22:10 por TECLA por

LCSD,

O MySQL possui uma ferramenta de administração do tipo MS-DOS (linha de comando).

Se não me engano, você encontra a ferramenta no diretório \mysql\bin.
Exemplo:

mysql -u root -p
password: *****

create database tecla

use tecla

create table teste...





#324968 - 10/10/2009 09:25:12

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


TECLA, até aí eu sei que tem eu utilizar o MySQL como se fosse MS-DOS.....
O meu problema seria como dar o seguinte comando (mais ou menos assim).

EXECUTAR QUERY.SQL (QUERY.SQL é o arquivo que eu tenho onde está todo o SCRIPT de geração de tabelas e banco de dados)

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

#324970 - 10/10/2009 09:32:08

TECLA
SAO PAULO
Cadast. em:Janeiro/2001


Membro da equipe
Tente assim:

LOAD DATA INFILE 'query.sql' INTO TABLE banco.tabela;





#324971 - 10/10/2009 09:34:52

TECLA
SAO PAULO
Cadast. em:Janeiro/2001


Membro da equipe
Segue o link do MANUAL MySQL com este, e outros inúmeros comandos.
LOAD DATA INFILE Syntax




#324972 - 10/10/2009 09:53:48

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


 Anexos estao visíveis somente para usuários registrados

Tecla, o meu arquivo tá gerado da seguinte forma. Dê uma olhada.

Como vou abrir este arquivo lá, é isso que não estou entendendo/sacando como fazer (ser um LEIGO nessa MELECA é foda).


IMAGINEMOS que este arquivo está no app.path do meu exe ("C:\\SISTEMA"), como vou executá-lo dentro dos comando do MySQL e exe rodar este SCRIPT todo????

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

#324976 - 10/10/2009 11:20:46

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe

Última edição em Editado em 10/10/2009 11:22:40 por FOXMAN por

Luiz,
Eu ainda qdo desenvolvia para vb6, desenvolvi duas formas de fazer isso

A primeira , dentro do meu próprio sistema eu tinha um instalador que verificava se era a primeira execução.

A segunda , um arquivo .bat, que era executado antes da instalação.
Esse arquivo .bat, setava o diretorio do mysql, executava os comandos gerando os bancos.

Abaixo o arquivo .bat.

Citação:
  @ECHO OFF

@REM Set dir variables. Use ~1 format in win2k
SET basedir=C:\BACKUP
SET workdir=c:\BACKUP
SET mysqldir=C:\MySQL\MySQL Server 6.0.2\bin
SET NOMEBANCO=TEST
REM SET gzipdir=c:\PROGRA~1\GnuWin32\bin
SET mysqlpassword=SENHA_USER_ROOT
SET mysqluser=root

@REM Change to mysqldir
CD %mysqldir%;

@REM dump database. This is all one line
@rem mysqldump -u %mysqluser% -p%mysqlpassword% --compact NOMEBANCO movprodsaida vendas  -t -n >%workdir%\backup.sql
mysql -u %mysqluser% -p%mysqlpassword% %NOMEBANCO% <%workdir%\PERICIA.SQL


@REM Change to workdir
CD %workdir%

@REM Zip up database
@rem %gzipdir%\gzip.exe backup.sql

@REM Move to random file name
@REM MOVE backup.sql.gz backup.%random%.gz

@REM FTP file to repository
@REM FTP -n -s:%basedir%\ftp-commands.txt

@REM Remove old backup files
@REM del backup.sql
@REM del backup.*.gz

@REM Change back to base dir
@CD %basedir%


Detalhe :

Com o seu script pericia.sql, ocorreram erros no meu servidor, pode ser configurações, testei com o meu script e funfou legal.

segue exemplo do meu script.

Citação:
  #
CREATE DATABASE `beauty` /*!40100 DEFAULT CHARACTER SET latin1 */;
#
DROP TABLE IF EXISTS `beauty`.`abrefechaterminal`;
#
CREATE TABLE  `beauty`.`abrefechaterminal` (
  `idAbertura` int(11) DEFAULT NULL,
  `CheckOut` varchar(20) DEFAULT NULL,
  `Turno` int(10) NOT NULL,
  `AbreData` datetime NOT NULL,
  `AbreHora` datetime NOT NULL,
  `FechaHora` datetime DEFAULT NULL,
  `FechaData` datetime DEFAULT NULL,
  `Troco` decimal(19,4) DEFAULT NULL,
  `RestoTroco` decimal(19,4) DEFAULT NULL,
  `Operador` varchar(20) DEFAULT NULL,
  `vlrDinheiro` varchar(20) DEFAULT NULL,
  `vlrMoeda` varchar(20) DEFAULT NULL,
  `vlrConvenio` varchar(20) DEFAULT NULL,
  `vlrCarteira` varchar(20) DEFAULT NULL,
  `vlrCartao` varchar(20) DEFAULT NULL,
  `vlrCheque` varchar(20) DEFAULT NULL,
  `vlrTotGeral` decimal(11,0) DEFAULT NULL,
  `Gerente` varchar(20) DEFAULT NULL,
  `EntraTotal` decimal(19,4) DEFAULT NULL,
  `SaidaTotal` decimal(19,4) DEFAULT NULL,
  `Saldo` decimal(19,4) DEFAULT NULL,
  `StatusCX` varchar(20) NOT NULL,
  `Atualizacao` datetime DEFAULT NULL,
  PRIMARY KEY (`Turno`,`AbreData`,`AbreHora`),
  KEY `AbreData` (`AbreData`),
  KEY `ind_cod_aberto` (`Turno`,`StatusCX`),
  KEY `ind_cod_dt_aberto` (`Turno`,`AbreData`,`StatusCX`),
  KEY `ind_principal` (`Turno`,`AbreData`,`AbreHora`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
#
#



Grupo DotNet.Br no FaceBook

Grupo WhatsDev



#324980 - 10/10/2009 11:42:24

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Caro FOXMAN,

Este SCRIPT no meu servidor MySQL (local) está funcionando perfeitamente....
Se eu pegar este SCRIPT e rodá-lo pelo FRONT, ele cria tudo perfeitamente....

O meu problema é, se ELE vai conseguir ser executado DIRETAMENTE pelo MySQL, e como é que eu faço para EXECUTÁ-LO??? Isso que não faço nem idéia de como fazer...........
Será que terei que instalar o FRONT no micro do cliente, para poder rodar este script e depois desinstalar????

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

#324983 - 10/10/2009 11:59:15

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe
Então, o arquivo bat, irá executar isso no banco.

Após o serivodor ser instalado você deverá executar o arquivo teste.bat.

Atente-se as variaveis do arquivo .bat, onde :

SET basedir=C:\BACKUP > local onde se encontra o arquivo .bat e o script
SET workdir=c:\BACKUP > local onde se encontra o arquivo .bat e o script
SET mysqldir=C:\MySQL\MySQL Server 6.0.2\bin > Local onde esta instalado o seu MYSQL

Se estes parametros estiverem corretos, e seu servidor estiver rodando normalmente basta executar o teste.bat que ele irá executar o conteudo do scritp diretamente no banco

IMPORTANTE : Sempre que é feito uma nova instalação do MySQL ele instala um banco chamado TEST, não é a toa, eu utilizo esta base para fazer as importações utilizando essa base como referencia.

NÃO HÁ NECESSIDADE DE INSTALAR O FRONT.

Faça um teste no seu servidor.








Grupo DotNet.Br no FaceBook

Grupo WhatsDev



#324984 - 10/10/2009 12:53:19

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


DESISTO.....

Obrigado pelas ajudas, mas minha INCAPACIDADE de fazer isso está sendo absurda e estou ficando já PUTO DA VIDA com isso.....
Vou APELAR e quando precisar instalar nos clientes, como terei que fazer isso REMOTAMENTE, instalo a PORRA do front, executo e depois apago aquela merda.....


Meu SACO já se encheu.......

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por LCSD em 14/01/2010 13:39:33