pessoal, meu sistema é feito em harbour (DBF E CDX), estou convertendo para minigui, e quero rodar com um banco de dados, baixei o MySQL, cheguei a fazer um programa pegando meus DBF´s passando para o MySQL, não tenho conhecimento algum sobre qualquer banco de dados ou SQL, mas pesquisando aqui, obtendo ajuda de alguns colega ali, eu fiz meu programa para conversão da base de dados. Só que me surgiu algumas duvidas.
1) Em meu sistema uso DBSETFILTER e alguns LOCATE, pergunto: estes comandos podem ser substituídos por
SELECT * from clientes where cep ="07700-000" tem o mesmo efeito ou estou viajando.
2) Em rede quando vou alterar o cadastro de cliente uso CLIENTES->( DBRLOCK( RECNO() ) ) para travar o registro e depois CLIENTES->( DBRUnlock( RecNo() ) ) para destravar, no MySQL o travamento é automático?
3) No cadastro de cliente tenho um índice chamado cliente.cdx com varias tags, por exemplo:
ordem de CODIGO, NOME, CNPJ_CPF, CEP como faço para criar estes índices em MySQL, isso pode ou deve ser criado ao montar um estrutura da tabela no MySQL.
SELECT("CLIENTES")
aDbfStruct := CLIENTES->(DBSTRUCT())
TABESTRU := "("
FOR x = 1 TO LEN( aDbfStruct )
IF aDbfStruct[x,2] = "C"
TABESTRU += ALLTRIM( aDbfStruct[x,1] ) + " VARCHAR(" + ALLTRIM( STR( aDbfStruct[x,3] ) ) + ")"
ELSEIF aDbfStruct[x,2] = "N"
TABESTRU += ALLTRIM( aDbfStruct[x,1] ) + " SMALLINT(" + ALLTRIM( STR( aDbfStruct[x,3] ) ) + ")"
ELSEIF aDbfStruct[x,2] = "D"
TABESTRU += ALLTRIM( aDbfStruct[x,1] ) + " DATE"
ELSEIF aDbfStruct[x,2] = "L"
TABESTRU += ALLTRIM( aDbfStruct[x,1] ) + " ENUM('T','F')"
ELSEIF aDbfStruct[x,2] = "M"
TABESTRU += ALLTRIM( aDbfStruct[x,1] ) + " LONGTEXT"
ENDIF
IF x < LEN( aDbfStruct )
tabestru += " , "
ENDIF
NEXT x
TABESTRU += ")"
OSERVER:QUERY( "CREATE TABLE CLIENTES " + tabestru + ";" )
IF OSERVER:NETERR()
lError:=.T.
MSGEXCLAMATION( OSERVER:Error(), "0" )
exit
ENDIF
4) Meu sistema esta funcionando em um servidor win 2008 tendo a unidade C: e D:, em C: esta o sistema operacional e em D: somente as seguintes pastas: SISTEMA e USERS a unidade D: esta compartilha e mapeada como DADOS, nas estações faço apenas o mapeamento do servidor e crio um atalho na área de trabalho apontando para o mapeamento, pergunto
4.1) Onde devo instalar o MySQL em c: como é sugerido na instalação ou em D:? Algum macete?
4.2) Na maquina local para conectar ao banco de dados uso a seguinte sintaxe:
OSERVER:= TMYSQLSERVER():NEW( CSERVER, CUSER, CPASWD )
onde: CSERVER = LOCALHOST
e no servidor qual é a sintax? tem que mudar algum parâmetro de configuração do MySQL?
4.3) a pasta SISTEMA em D: contem a subpasta chamada DADOS, onde em SISTEMA fica o executável alguns arquivos INI e em DADOS as tabelas de CLIENTES, BANCOS, NOTAFISC, PRODUTOS, ETC ETC, fazia backup desta pasta diariamente, quando tinha algum problema como por exemplo corrupção de índice corrupção de campos memos, eu voltava a tabela que deu erro e pronto tudo voltava ao normal, e no MySQL como fazer copia (BACKUP) da tabela ou da base de dados? Como vou voltar apenas uma tabela? de que forma agir?
bem aqui esta algumas duvidas que ainda me deixam meio inseguro em usar o MySQL não pelo seu funcionamento e sim por ser leigo no assunto.
a versão que estou usando do MySQL é 5.1.3
obrigado antecipadamente a todos que puderem me ajudar.
abraços
Amparo