Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luiscarlos5046

[Resolvido] Diferença entre as Query do ASP com Access ou MySQL

Recommended Posts

Ae Galera !

 

Eu tenho alguns sites ASP que usa BD Access.. Estou fazendo a mudança do BD para MySQL e acabei descobrindo que algumas Querys utilizadas com Access podem não funcionar com o MySQL.

 

Alguém sabe me dizer as diferenças, o que funciona com um BD e o que não funciona?

Por exemplo:

SELEC TOP 4 nome FROM tabela ORDER BY nome ASC

Eu já notei que o "TOP 4" por exemplo utilizado para selecionar os 4 registros principais não funcionou com MySQL.

Alguem sabe me dizer as diferenças que podem haver nessas Querys de um Access para MySQL ou MSSQL ??

Existe algum material que explica essas diferenças ?

 

Luis Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

o access suporta até 255 usuários...

o mysql num tem um limite

 

tamanho

access 2.GB

mysql num tem limite...

 

access usa o TOP , MySQL o LIMIT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é amigo, essa eu já descobri, mas tem outras coisas que podem não funcionar tbm como esse ai abaixo.

Me ajuda nessa da ordem randomica:

 

strSql = " SELECT id,banner_top "
strSql = strSql & " FROM clientes "
strSql = strSql & " WHERE status_banner_top = True "
strSql = strSql & " ORDER BY Rnd(Int(Now()*[ID])-Now()*[ID]) LIMIT 4 "
set rsT = cn.execute(strSql)

Essa parte Rnd "ORDER BY Rnd(Int(Now()*[iD])-Now()*[iD])" não rolou no MySQL...

 

Ae Xanburzun, Existem muitas pessoas utilizando esse MySQL com ASP ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim existe muita gente trabalhando com MySQL e SQL-Server

 

 

em MySQL use a função RAND(), Retorna um valor de ponto flutuante aleatório na faixa de 0 <= v <1,0. Se um argumento inteiro N é especificado, é usado como uma semente, que produz uma sequência repetitiva de valores de coluna. No exemplo abaixo, note que as seqüências de valores produzidos pela RAND (3) é a mesma ambos os lugares onde ele ocorre.

 

exemplo:

 

SELECT * FROM tbl_name ORDER BY RAND();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa !

só esse RAND()???

Eu não sei o pq disso tudo então: Rnd(Int(Now()*[iD])-Now()*[iD])

Esse exemplo eu peguei por aqui no forum.

 

* Outra coisa que já notei erro:

São aqueles tipos de dados Sim/Não do Access. Eles não são aceitos no MySQL tbm.

Tenho que mudar no BD MySQL os campos para Bit ou TinyInt.. e nas verificações no ASP onde eu usava " if rs("estatus") = True then " eu tive que usar assim " if cint(rs("status_c")) = 0 then "

 

você acha que isso está correto Xanburzun ?

 

Valeu... Obrigado Xanburzun

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem várias outras funções que são diferentes, como tornar o strings em maiúsculo e minúsculo , contar caracteres, trabalhar com datas, entre outras.

 

A mudança em termos de funções é grande. Se você utiliza muitas funções em suas consultas, terá que fazer muitas alterações.

 

Sobre o campo verdadeiro/falso, o correto é trabalhar da forma que você citou.

 

Particularmente em condições que verifica apenas verdadeiro ou falso, eu utilizo if cBool(rs("estatus")) then e if Not cBool(rs("estatus")) then

 

No caso, contendo 0/False/Falso é falso sempre, fora isso tudo que vier é verdadeiro. Na alteração do tipo de dados, não seria necessário alterar todo o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando começei a usar Mysql passei pelas mesmas dificuldades que você, afinal migrar do access para o Mysql tem muitas diferenças, mas acho o Mysql melhor em muitos aspectos.

 

Um local que me ajudou muito nessa migração, foi a documentação on-line do Mysql, lá tem todas as funções muito bem explicadas, caracteristicas de formato de campos, etc....

Recomendo dar uma lida para ver as diferenças e as opções que o mysql dá para armazenar os dados.

Está tudo bem documentado, e dependendo da versão que usa do mysql, já tem a documentação em portugues.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tô usando o MySQL 5.1 e encontrei um PDF em inglês com tudo, o pdf tem 38 mega.

Não tive muito tempo pra pesquisar ainda se tem em Português.

 

Vinicius, eu não uso muita coisa complicada nas minhas querys não. Eu costumo tratar as informações que preciso no ASP depois de carregado as informações ou antes de gravar.

 

Sei que ainda tenho muita coisa pra ver com esse MySQL. Mas eu vou procurar usar esse BD só em caso de sites muito grande com muita informação.

 

Pra sites com conteúdos simples que não requer muita informação eu uso access sem problemas. O maior site que tenho feito que tem muita informação, o BD access dele ainda tem 2 megas só. Só não sei até quanto ele aguenta, pelo que o xanburzun disse, me parece que é 2 giga pra access?

 

De qualquer forma temos que ir inovando, aprendendo de tudo um pouco.

 

Obrigado a todos !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo contigo, precisamos sempre aprender cada vez mais.

 

Quando migrei pro Mysql, o que mais me motivou a migração foi a limitação do numero de registros que o Access suporta, isso num projeto em que o cliente pede um sistema de contole de login/logout atinge rapidamente.

 

Atualmente em todos os meus projetos uso o Mysql por vários motivos, como robustez do banco de dados, não possui as limitações que o access possui, aguenta melhor um pico de acesso, etc...

 

Considero os sites que cuido normais, alguns simples outros um pouco mais sofisticados, mas sempre que pego um projeto novo ou em andamento para cuidar, um dos aspectos que observo é o publico alvo do site, se ele está sujeito a ter um aumento no numero de acessos de forma gradual ou pode aumentar esse numero do dia pra noite, para saber isso busco informações da concorrencia, e fontes de noticias diversas.

 

E pensando no aumento de visitações ou no aumento de funcionalidades que o site pode passar a ter, já escolho o Mysql para ter menos trabalho quando o site ficar grande demais e o banco de dados não suportar isso.

 

Fora o retrabalho em reescrever todas as clausulas sql novamente, testar para ver se está 100%, etc...

 

Quanto menor o trabalho melhor, pois tempo é $$

 

E o suporte a Mysql, todos bons serviços de hopedagem tem, o que fica mais fácil para nós :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hummmm.. já me preocupou !

você disse "a limitação do numero de registros que o Access suporta"

E como é isso? número de registros ou tamanho do Banco de Dados?

 

O xanburzun disse que o access suporta até 255 usuários com 2 giga.

Há alguma restrição tbm nesse número de registros no access ?

 

Luis Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.