Página 1 de 3

Estou em duvida sobre MYSQL

Enviado: 04 Dez 2007 09:12
por helio
Pessoal eu vi em algum canto que o MYSQL era free mais tentei baixar ele e so vi nao free.

Se alguem poder me ajudar fico muito grato me indicando como posso baixar o MYSQL.

Valeu antecipadamente, Obrigado.

Helio Beltrao Jr.
helio@hrbinfo.com.br

Enviado: 04 Dez 2007 10:19
por sygecom
Bom já fui em tudo que é forum e perguntei sobre a licença do Mysql e todo mundo diz que o Mysql é free desde que vc não seja distribuido junto com sua app, ou seja instaladores separados, mas mesmo assim tenho ká minhas duvidas....vc pode baixar a ultima versão do Mysql no link abaixo:
http://dev.mysql.com/get/Downloads/MySQ ... st.net.ar/

Abraços
Leonardo Machado

Enviado: 04 Dez 2007 10:48
por helio
Valeu Leonardo pela forca, Obrigado.

Enviado: 04 Dez 2007 11:03
por Maligno
Pra desktop o Firebird é bem melhor que o MySQL e é totalmente free, tendo também uma versão embutida (uma simples DLL), que pode rodar em pen-drives e CDs/DVDs, concomitantemente à uma versão server que já esteja rodando como serviço na máquina, sem causar qualquer interferência nesta.
Sem falar que existem excelentes ferramentas de administração pra Firebird. Muitas delas gratuitas (ex: IBExpert Personal Edition).

Enviado: 04 Dez 2007 11:33
por helio
leonardo eu baixei pelo link que voce me indicou e executei mais nao deu certo deu a seguinte mensagem:

*Este tipo de processo nao oferece suporte a este pacote de instalcao. entre em contato com o fornecedor.*

Maligno tem alguma ferramenta para migracao do dbf para firebird e manual como operar o firebird?

Valeu pela forca, Obrigado.

Helio Beltrao Jr.
helio@hrbinfo.com.br

Enviado: 04 Dez 2007 11:50
por Maligno
Não conheço nenhuma ferramenta de migração. As bases que criei começaram do zero. Só vou precisar de algo assim no ano que vem. Mas você pode instalar uma ferramenta de gerenciamento (tenho no meu site o IBExpert grátis) e aprender um pouco mais pra descobrir uma alternativa. Ou, claro, pesquisar no Google.

Quanto à documentação, tem alguma coisa na área "pub" do meu site. Clique aqui. Você também pode dar uma xeretada no site do projeto, clicando aqui. A partir deste link, você tem acesso ao download dos binários para as versões server e embedded (embutido).

Enviado: 04 Dez 2007 12:08
por hrodrigom
Para Converter de DBF para SQL vejam este utilitario
Creditos ao Autor

Este estou usando para converter dbf para postgresql, alias nao lembro se tive que alterar algo, acredito que nao, acho q a sintaxe sql do firebird e postgresql sejam a mesma.

A proposito, recomendo fortemente PostgreSQL caso sua aplicação vai rodar em um ambiente com Servidor etc.
Em testes que fiz, o firebird ficou longe a traz do PostgreSQL. Mas cada caso é um caso, se vc tem a necesidade de rodar sua aplicação em PenDrive, CDROM como o amigo falou o melhor é Firebird mesmo.

Mysql nao me atrai, nao posso dizer nada.

Código: Selecionar todos

/**

 * Copyright (c) 2001, CAIO Sistemas & M‚todos Ltda

 * Todos os Direitos Reservados

 *

 * CRIASQL.PRG .... Cria um SCRIPT SQL para o INTERBASE

 *                  a partir da estrutura de dados DBF/CDX ou DBF/NTX

 *

 * Autor: Caio Jose Hugueney Lopes de Oliveira

 * Data.: Julho/2001

 *

 * ------------------------------------------------------------------

 * Prezados colegas, vcs. podem usar/alterar esse programa conforme

 * lhes convier, desde que mantenham o cr‚dito do autor original.

 * As melhorias que por ventura sejam realizadas podem ser enviadas

 * para a lista Interbase-br@yahoogrupos.com.br.

 * Abra‡o

 * Caio Oliveira

 * ------------------------------------------------------------------

 *

 */

#Include "Set.ch"

#Include "Dbstruct.ch"

#Include "directry.ch"



#command DISPLAY STRUCTURE [<print: TO PRINTER>] [TO<(file)>] ;

   => fCriaSql(<(file)>, <.print.>)



//function main()



//set century on

//set date to brit



parameters dbfile, tto, dest



IF (dbfile == NIL) .OR. (( tto = 'TO').AND.(dest == NIL))

   Dispusage()

   Return NIL

Endif





// Esse c¢digo eu uso para identificar se a base &#130;

// DBFCDX ou DBFNTX

//if CDXData() .OR. File("CEPEMP01.CDX")

//   REQUEST DBFCDX

//   RDDSETDEFAULT("DBFCDX")

//Endif



if Upper(dbfile) = 'TODOS' .OR. Upper(dbfile) = 'ALL'

   PegaArquivos(tto, dest)

Else

   Estrut2( dbfile, tto, dest )

Endif



Return NIL



/**

 *

 * Localiza os arquivos com extensao

 * .DAT ou DBF do diretorio e adiciona-os no aArqDBF

 *

 */

Static Function PegaArquivos(tto, dest)

LOCAL aArqDBF := DIRECTORY( "*.DBF" )

LOCAL aArqDAT := DIRECTORY( "*.DAT" )

LOCAL nK := 0



For nK := 1 to LEN( aArqDaT )

    AADD( aArqDBF, aArqDat[nK] )

Next



For nK := 1 to LEN( aArqDBF )

   Estrut2( Trim(aArqDBF[nK,F_NAME]), tto, dest )

Next



Return NIL



/**

 *  Chama CriaSQL() para montar/imprimir a estrutura de 'dbffile'

 * 

 */

Function Estrut2(dbfile, tto, dest)



if tto != NIL

   tot := UPPER( tto )

Endif



if (dbfile == NIL) .OR. (( tto = 'TO').AND.(dest == NIL))

   dispusage()

   Return NIL



Endif



if AT('.', dbfile) == 0

   dbfile = dbfile+'.dbf'

endif



USE (dbfile) NEW



DO CASE

CASE  "" == dest .OR. dest == NIL

   DISPLAY STRUCTURE

CASE LEFT(UPPER(dest),4) = "PRIN"

   DISPLAY STRUCTURE TO PRINTER

OTHERWISE

   DISPLAY STRUCTURE TO (dest)

ENDCASE



Use



RETURN NIL



/**

 *

 *

 */

Static Function fCriaSQL()

PARAMETERS file, print



LOCAL nK := 0, aDBFStruct := {}, nItens := 0

LOCAL cNomeArq := Alias()



oldprintf = SET(_SET_PRINTFILE)

oldprint  = SET(_SET_PRINTER)

oldcons   = SET(_SET_CONSOLE)



DO CASE

CASE "" != file .AND. file != NIL

   SET PRINTER TO (file) ADDITIVE

   SET CONSOLE OFF

   SET PRINTER ON

CASE print

   SET CONSOLE OFF

   SET PRINTER ON

ENDCASE



// Inicia construcao do SCRIPT da tabela



QOUT( "CREATE TABLE "+cNomeArq )

QOUT( "(" )



//QOUT( PADR("ID_"+cNomeArq,13)+'   INTEGER,' )



aDbfStruct := DBStruct()

nITens := LEN(aDBFStruct)





For nK := 1 to LEN(aDbfStruct)

       QOUT( PADR( TRIM(iif(TRIM(adbfstruct[nK,DBS_NAME]) == "DESC",;

                    "DESCRICAO", adbfstruct[nK,DBS_NAME])), 13)+;

       '   '+ConvTip(adbfstruct[nK,DBS_TYPE],;           

              adbfstruct[nK,DBS_LEN], adbfstruct[nK,DBS_DEC],;

              adbfstruct[nK,DBS_NAME] )+;

              iif( nK == nITens, '', ',') )

Next



QQOUT( " );")



QOUT()

QOUT()

dbgotop()

do while !eof()

qqout("INSERT INTO "+ cNomeArq +" VALUES (")

	for x=1 to fcount()



		qqout(convdados( &(fieldname(x)) ) ) 

			

		if x=fcount()

			qqout(");")

			QOUT()

			exit

		endif

		qqout(",")

	next

	skip

enddo



// Gera um GENERATOR para a tabela

// Vc. pode ignorar isso



//QOUT()

//QOUT( "CREATE GENERATOR GEN_"+cNomeArq+";" )

//QOUT()



SET(_SET_PRINTER, oldprint )

SET(_SET_PRINTFILE, oldprintf )

SET(_SET_CONSOLE, oldcons )



RETURN NIL



/**

 *

 * Sintaxe 

 *

 */

Function DispUsage()

?? "Sintaxe: Cria_SQL <dbf> [[TO <nome-do-arquivo>] [TO PRIN[TER]]]"

RETURN NIL



/**

 *

 * Funcao de Conversao de Tipo DBF->INTERBASE

 *

 */

Static Function ConvTip( cTipo, nNum, nDec, cNome )

LOCAL cRet := ""



if cNome = 'DATAHORA' .OR. cNome = 'DATAHALT'

   Return "data_hoje"

Endif



if cTipo == "C"

   cRet := "CHAR("+LTRIM(STR(nNum))+")"

ELseif cTipo == "D"

   cRet := "DATE"

ELseif cTipo == "N"

   if nDec > 0

      if nNum > 14

            cRet := "DOUBLE PRECISION"

      Else

            cRet := "NUMERIC("+LTRIM(STR(nNum))+","+LTRIM(STR(nDec))+")"

      Endif

   Else

      if nNum <= 5

      cRet := "SMALLINT"

      Else

      cRet := "INTEGER"

      Endif

   Endif

Elseif cTipo == "L"

      cRet := "CHAR(1) DEFAULT 'N'"

Elseif cTipo == "M"

      cRet := "BLOB SUB_TYPE TEXT segment size 80"

Endif

Return cRet







Function AlltoC(var)

local tipo:=valtype(var)

do case

	case tipo = 'N'

		return str(var)	

	case tipo = 'D'

		return dtoc(var)

	case tipo = 'L'

		if var

			return 'T'

		else

			return 'F'

		endif

end case

return var && Se chegou aqui a variavel ja é C





Function ConvDados(valor)

//alert(valtype(valor))



if valtype(valor) = 'C'

	if alltrim(valor) == ""

		return "null"

	else

		return "'"+alltrim(valor)+"'"

	endif

elseif valtype(valor) = 'D'

	if valor = ctod("  /  /   ")

		return "null"

	else

		return "'"+dtoc(valor)+"'"

	endif

else

	return valor

endif



return

Enviado: 04 Dez 2007 12:18
por helio
Pessoal aproveitando, qual a ferramenta voce estao usando para a comunicao do Xharbour com MYSQL, FIREBIRD ou PostgreSQL porque estou em duvida qual usar se puder me ajudar fico grato.

Valeu,

Helio Beltrao
helio@hrbinfo.com.br

Enviado: 04 Dez 2007 12:20
por helio
Maligno e Rodrigo Valeu pela forca.

Helio Beltrao
helio@hrbinfo.com.br

Enviado: 04 Dez 2007 12:40
por janio
helio escreveu:Pessoal aproveitando, qual a ferramenta voce estao usando para a comunicao do Xharbour com MYSQL, FIREBIRD ou PostgreSQL porque estou em duvida qual usar se puder me ajudar fico grato.
Bom, eu estou usando o MEDIATOR para isso. Ferramenta free, estável, fácil de implementar e o MELHOR: Vc continua com toda a sintaxe xbase, utilizando como se fosse um DBF.

Mais detalhes aqui

Jânio

Enviado: 04 Dez 2007 14:16
por hrodrigom
Eu estou usando a contrib/pgsql

Nao uso nenhum RDD.
As consultas eu jogo em um array para tratamento no cliente,
uso TBROWSE, etc, tudo com array.

Nao sei se é a melhor, mas estou satisfeito.

Enviado: 04 Dez 2007 16:19
por rodrmigu
Oi Rodrigo,

Eu também uso o postgres do meu pendrive. Parece que nas versões mais recentes, tiraram aquelas limitações de ter que ser em NTFS ou apenas usuários limitados.

Eis aqui um link interessante http://benchw.sourceforge.net/benchw_results_open3.html

Mas sem querer criar nenhuma polêmica, o Postgres é o banco open que mais se aproxima, por exemplo de um oracle, onde vc pode configurar muitos parametros de memória, como no oracle (apesar que no oracle são centenas), você tem tablespaces e partições, isso permite ter tabelas gigantescas e com um gerenciamente interessante, assim como no oracle, replicação de banco, hot backup, etc.

[]'s
Rodrigo Moreno

Enviado: 04 Dez 2007 19:08
por helio
Janio fiquei interessado em colocar o mediator no meu sistema onde posso encontra documentacao como colocar os camando no meu sistema ou se voce tem ?

Valeu, Obrigado

Helio Beltrao
helio@hrbinfo.com.br

Enviado: 04 Dez 2007 22:29
por sygecom
Bom eu tava escrevendo um baita texto explicando certinho cada uma, das que conheço e faltou Energia Elétrica aqui nessa M....de Hotel....

Vou resumir agora:
Tem a LIB do Rochinha para acesso a Varios BD, de uma olhada na Sessão CODIGO FONTE.

Tem a ADORDD do Linares que usa a maioria expressão xbase, mas tem que usar algumas expressão SQL como no SEEK que não foi adicionado ainda nessa LIB. mais detralhes de uma olhada no link abaixo:
http://www.fivetechsoft.com/forums/viewtopic.php?t=6815

Sobre o Meditator, achei uma otima opção, é muito boa, se não fosse um unico problema se vc quiser usar banco ON-LINE (EX: MYSQL NO TERRA.COM.BR) vc não consegue com a versão free, pq tem que rodar um tal de server para ele funcionar.

Temos tmb. a Mysql da CONTRIB, inclusive tenho um mini-sistema rodando com essa LIB é muito boa, mas tem que usar expressão SQL, de uma procurada aqui no forum que tem uns exemplo simples, e no link abaixo eu mostro como compilar ela pela CVS:
https://pctoledo.org/forum/viewtopic.php?t=6007

Bom depois temos as opções pagas, como SQLLIB,SQLRDD e MEDIATOR COMERCIAL.

E por ultimo agora toh dando uma olhada e estudada nesses projetos abaixo:
http://es.groups.yahoo.com/group/sparrow1_sqlite/

http://es.groups.yahoo.com/group/eagle1/

Abraços
Leonardo Machado

Enviado: 04 Dez 2007 22:32
por sygecom
helio escreveu:leonardo eu baixei pelo link que voce me indicou e executei mais nao deu certo deu a seguinte mensagem:

*Este tipo de processo nao oferece suporte a este pacote de instalcao. entre em contato com o fornecedor.*

Maligno tem alguma ferramenta para migracao do dbf para firebird e manual como operar o firebird?

Valeu pela forca, Obrigado.

Helio Beltrao Jr.
helio@hrbinfo.com.br
Baixa direto no site do Mysql.com que não tem erro, não tem restrição alguma é só chegar e baixar !!! em ultimos caso lhe mando a versão que uso com instalador feito por min, usando .iss