Ir para conteúdo

POWERED BY:

Arquivado

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

TeixeiraRamos

Como usar ASP com MySQL

Recommended Posts

Aqui aprendi Access, ASP...

Ocorre que a empresa de hospedagem me pediu para mudar as minhas páginas em ASP com Banco de Dados em Access para ASP com MySQL.

Instalei "MySQL Query Browser", criei um Banco de Dados, "pet", em "Resultset" apareceram os registros.

Salvei banco em:

 

C:\inetpub\wwwroot\MySQL teste banco dados\db\pet.sql

 

Ocorre que as páginas em ASP com Banco de Dados em Access a conexão é feita dessa forma ("Local"), como por exemplo:

<%
Sub AbreConexao
	Set conexaoDataBase = Server.CreateObject("ADODB.Connection")
	conexaoDataBase.CursorLocation=3
    const cntCaminho = "C:\inetpub\wwwroot\Meu novo site\dados\info16br.accdb"    
	conexaoDataBase.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & cntCaminho
end sub

sub FechaConexao
	conexaoDataBase.close
	set conexaoDataBase = nothing
end sub
%>	

Mas ASP com MySQL qual a string de conexão e como vou chamar os registros. É igual a ASP com Access, ou seja, usando, por exemplo:

<body>

<%while not rs.eof%>

<%=rs("nome")%>

<% rs.movenext
   wend
   Set rs=nothing
   Set conexaoDatabase=nothing
%>
</body>
</html>

Usei essa string em uma página ASP mas não sei como indicar o caminho como é feito em ASP com Access:

 

Local MySQL database using MySQL ODBC 3.51 Driver:

<%
'declare the variable that will hold the connection string
Dim ConnectionString 
'define connection string, specify database driver and location of the database
ConnectionString= "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost;" &_
"DATABASE=your_mysql_database; UID=your_username; PASSWORD=your_password; OPTION=3"
%>

Ainda não consegui achar um livro, tutorial com um exemplo de página ASP com MySQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que informar os dados que você utilizou para criar as tabelas. SERVER, DATABASE, UID=usuário e PASSWORD.

 

A string que você postou já tem tudo, você só tem que confirmar com seu servidor qual o DRIVER para Mysql tem instalado, pois se não for o 3.51, vai dar erro se você informar este.

 

O resto é igual, exceto algumas palavras chaves, como por exemplo no Access é TOP e no Mysql é LIMIT... entre outras...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon,

Vou verificar tudo conforme suas orientação.

Mas por favor, se for possível me indique um livro sobre ASP com MySQL. (Já procurei e não encontrei).

Ainda tenho muitas dúvidas, embora já fui informado que, se aprendi ASP com Access vou aprender ASP com MySQL.

O pior é que não encontrei um exemplo de ASP com MySQL.

Comprei e estou estudando "Tutorial MySQL - Uma introdução objetiva aos fundamentos do banco de dados MySQL" mas, como era de esperar não fala em ASP com MySQL.

Nada é fácil até que se estude. No início, com ASP com Access foi uma luta até que consegui...agora é outra batalha.

Obrigado, volto ao assunto para informa os resultados.

Mais uma vez obrigado por tudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Teixeira,

Pelo que notei você apenas criou o Script SQL para gerar o Banco.

 

C:\inetpub\wwwroot\MySQL teste banco dados\db\pet.sql

 

Instala o XAMP que é mais fácil.

Se precisar eu tenho muitos exeplos e te passo umas conexões com Banco de Dados MySQL como eu uso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez o que você precisa é aprender a utilizar o MYSQL, correto?

 

Porque ASP com MYSQL eu nunca vi um livro a respeito, e é praticamente a mesma coisa do Access, a diferença é que no Access o banco é um arquivo e MYSQL o banco está em um servidor, dessa forma é possível realizar conexões simultâneas.

 

Aqui no Fórum tem muitos exemplos de códigos utilizando ASP e MYSQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Luis Carlos,

Sim, sim, por favor preciso muito.

O que devo fazer para Salvar de forma que tenha condições de configura o ODBC?

Não sei se seria importante esclarecer o seguinte: a empresa de hospedagem pediu para transformar minhas páginas em ASP com banco de dados em Access para ASP com banco de dados em MySQL.

Esse esclarecimento altera alguma coisa na instalação do XAMP ou não tem nada haver.

Deveria ter informado meu sistema operacional é Windows 7 Profissional - 32Bit.

Muito obrigado, mas muito obrigado mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Argon,

Muito obrigado pela atenção.

 

 

Talvez o que você precisa é aprender a utilizar o MYSQL, correto?

 

Correto!!. Com certeza é isso mesmo.

 

 

Aqui no Fórum tem muitos exemplos de códigos utilizando ASP e MYSQL.

 

Procurei diversas vezes, mas com a sua alerta fiz outra verificação.

Realmente tem muitos exemplos, mas a maioria MySQL com PHP. Não digo que não exista nenhuma postagem, mas o que tem não me atende na condição de iniciante.

Como já tenho diversas páginas em ASP com banco de dados em Access fui orientado para manter essas páginas e criar o Banco de Dados através do MySQL.

Estou estudando agora no Livro "Tutorial MySQL - Uma introdução objetiva aos fundamentos do banco de dados MySQL". Comprei com objetivo de aprender usar o MySQL mas estou no início do livro e não sei se é realmente o livro indicado. Acho que não é, mas vou seguir em frente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Luis Carlos,

Sim, sim, por favor preciso muito.

O que devo fazer para Salvar de forma que tenha condições de configura o ODBC?

Não sei se seria importante esclarecer o seguinte: a empresa de hospedagem pediu para transformar minhas páginas em ASP com banco de dados em Access para ASP com banco de dados em MySQL.

Esse esclarecimento altera alguma coisa na instalação do XAMP ou não tem nada haver.

Deveria ter informado meu sistema operacional é Windows 7 Profissional - 32Bit.

Muito obrigado, mas muito obrigado mesmo.

Olá Teixeira,

Você pode entrar em contato comigo pelo Skype ou pelo Messenger do Face.. tem no meu perfil ai.

 

MySQL é quase a mesma coisa, poucas coisas mudam no modo de usar nas Querys, mas tem uma diferencinha sim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Luis Carlos,

 

Muito obrigado mesmo pela sua atenção, mas não uso Skype e nem Face.

Vou continuar tentando. E com relação a "Instala o XAMP que é mais fácil", você confirma que é mais para PHP?

A propósito, assisti um videoaula mostrando a criação de Bando de Dados e Tabelas através do "MySQL Workbench". Você conhece? Porque uso o "MySQL Query Browser", mas estou tendo dificuldades, salvo bando de dados, mas quando vou criar o ODBC esse banco não está no local, ou seja, informaram que só criei um script. Então o que devo fazer?

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No MYSQL você cria o banco em um servidor local exporta para um arquivo.sql e importa em um servidor externo.

 

Ou você já pode fazer tudo em um servidor externo e exportar para um arquivo.sql apenas como backup.

 

Este arquivo.sql é somente texto, você não usa ele na string de conexão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon,

Entendi as suas orientações. Foi uma grande bobagem (salvar SQL) foi na ânsia de criar a conexão.

As coisas estão "clareando" mais. Instalei o "MySQL Workbench", criei o ODBC (MySQL).

Estou tentando fazer a minha primeira conexão através da página ASP, mas ainda não tive êxcito.

Na aba "Application" do Dreamweaver criei a Databases (teste com sucesso).

Estou usando como primeiro teste o banco de dados "world" que vem com o MySQL Workbench.

Minha "string" ainda não funcionou:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Minha primeira conexão MySQL com ASP</title>

<%
'declare the variable that will hold the connection string
Dim ConnectionString 
'define connection string, specify database driver and location of the database
ConnectionString= "DRIVER={MySQL ODBC 3.51 ANSI Driver}; SERVER=localhost;" &_
"DATABASE=primeiraconexao; UID=your_username; PASSWORD=your_password; OPTION=3"
%>

</head>

<body>
</body>
</html>

Está faltando algo.

 

O pior é quer não encontro livro para fazer exercícios através do MaySQL Workbench.

Pelo que pude apurar eu não sou o único com dúvidas. Existem comentários e pedido de ajuda pela internet sobre ASP com MySQL.

Obrigado, mais uma vez, pelo seu apoio e qualquer novidade se for possível poste. O negócio é estudar, aplicar, errar, aprender...

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas qual a mensagem de erro ao tentar criar a conexão com Asp?

 

Você está usando o driver 3.51 na string. Nesse caso você tem que ter ele instalado no local em que o arquivo é executado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Hargon,

 

Minhas explicações são pobres de palavras próprias para o assunto. Faz parte do iniciante.

Mas vou tentar:

O driver 3.51 não sei se informei corretamente, por favor, observe:

 

No "No Administrador de fonte de dados ODBC", em "Fonte de dados de sistema" consta o seguinte nos campos:

  1. Nome: meubancodados (um nome qualquer)
  2. Driver: MySQL ODBC 5.3 ANSI Driver

Clicando no botão "Configurar..." constam os seguintes campos preenchidos na tela "MySQL Connector/ODBC Data Source Configuration - Connection Parameters:

  1. Data Source Nome: meubancodados (esse nome ficou em "Fonte de dados de sistema")
  2. Descrição: (não preenchido)
  3. TCP/IP Server: Localhost Port: 3306
  4. User: root
  5. Password: ******
  6. Database: world (banco de dados que vem com o MySQL Workbench que escolhi para teste conexão)

Clicando em no botão "Test" - abre uma tela indicando: "Test Result" - "Connection Successful"

 

Portando, com relação ao ODBC acredito que esteja correto.

 

Agora com relação a string e mensagem.

 

O código está assim:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Minha primeira conexão ASP com MySQL </title>

<%
'Variáveis com os valores de minha base de dados

strDataSoure = "meubancodados"

strDataBase = "meubancodados"

strUser = "root"

strPWD = "admin"

'Gerar a query SQL que irá acessar os dados na base de dados

strQuery = "SELECT * FROM city"

'Define String de conexão para base MySQL

strConexao = "Driver={MySQL ODBC 5.3 Driver}; SERVER=" & strDataSoure

strConexao = strConexao % "; DATABASE=" & strDataBase

strConexao = strConexao & "Uid="& strUser

strConexao = strConexao & ";Pwd="&strPWD  


'Cria objeto de conexão com a base de dados e execute a Query na tabela

set objConn = server.CreateObject("ODBC.Connection")

objConn.open strConexao

set rs=Server.CreateObject("ODBC.RecordSet")

rs.Open strQuery, strConexao

do until rs.EOF

for each x in rs.Fields

Response.Write(CStr(x.Value)) & ""

next

Response.Write"
"

rsMoveNext

loop

objConn.close

set rs = nothing

set objConn = nothing

%>

</head>

<body>
<h3>Cidades da Tabela world</h3>

<%while not rs.eof%>

<table border='1' calllpadding='1' cellspacing='0'>
<tbody>
<tr>
    <th>Nome Cidade</th>
    <th>Continente Código</th>
    <th>Distrito</th>
    <th>População</th>
</tr>

<tr>
 <td><%=rs("name")%></td>
 <td><%=rs("CountryCode")%></td>
 <td><%=rs("District")%></td>
 <td><%=rs("Population")%></td>
</tr>

<% 
 rs.movenext
 wend
 Set rs=nothing
 Set conexaoDatabase=nothing
%>  

</tbody>
</table>

</body>
</html>

Mensagem no de erro:

 

An error occurred on the server when processing the URL. Please contact the system administrator.

If you are the system administrator please click here to find out more about this error.

 

Não sei se a "string" está correta, se o código é específico para "Local". É um exemplo fornecido pelo TI da empresa de hospedagem.

Não consigo um exemplo de conexão local para MySQL e código para trabalhar com as tabelas.

Não vejo a hora de conectar esse banco.

Espero que tenha informado corretamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que você descreveu, no DRIVER está falando que é 5.3. Neste caso você está utilizando errado, já que informou na string de conexão 3.51.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon Bom Dia,

Tem razão, mas o que está valendo é o meu ultimo código postado e digitei 5.3

 

 

strConexao = "Driver={MySQL ODBC 5.3 Driver}; SERVER=" & strDataSoure

 

Estou estou achando que essa string abaixo não é para local.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Minha primeira conexão MySQL com ASP</title>

<%
'declare the variable that will hold the connection string
Dim ConnectionString 
'define connection string, specify database driver and location of the database
ConnectionString= "DRIVER={MySQL ODBC 5.3 Driver}; SERVER=localhost;" &_
"DATABASE=primeiraconexao; UID=your_username; PASSWORD=your_password; OPTION=3"
%>

</head>

<body>
</body>
</html>

Foi por isso que tentei com o código postado na #13.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa mensagem de erro que você postou é genérica.

 

Faz o seguinte, acima da linha:

'Variáveis com os valores de minha base de dados

Coloque On Error Resume Next
No final do código coloque <%=Err.Description%> e poste aqui o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon

O código ficou assim:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Minha primeira conexão ASP com MySQL </title>

<%
On Error Resume Next
'Variáveis com os valores de minha base de dados
strDataSoure = "meubancodados"
strDataBase = "meubancodados"
strUser = "root"
strPWD = "admin"

'Gerar a query SQL que irá acessar os dados na base de dados
strQuery = "SELECT * FROM city"

'Define String de conexão para base MySQL

strConexao = "Driver={MySQL ODBC 5.3 Driver}; SERVER=" & strDataSoure

strConexao = strConexao % "; DATABASE=" & strDataBase

strConexao = strConexao & "Uid="& strUser

strConexao = strConexao & ";Pwd="&strPWD  


'Cria objeto de conexão com a base de dados e execute a Query na tabela

set objConn = server.CreateObject("ODBC.Connection")

objConn.open strConexao

set rs=Server.CreateObject("ODBC.RecordSet")

rs.Open strQuery, strConexao

do until rs.EOF

for each x in rs.Fields

Response.Write(CStr(x.Value)) & ""

next

Response.Write"
"

rsMoveNext

loop

objConn.close

set rs = nothing

set objConn = nothing

%>

</head>

<body>
<h3>Cidades da Tabela world</h3>

<%while not rs.eof%>
<table border='1' calllpadding='1' cellspacing='0'>
<tbody>
<tr>
	<th>Nome Cidade</th>
    <th>Continente Código</th>
    <th>Distrito</th>
    <th>População</th>
</tr>

<tr>
	<td><%=rs("name")%></td>
	<td><%=rs("CountryCode")%></td>
	<td><%=rs("District")%></td>
	<td><%=rs("Population")%></td>
</tr>

<% 
	rs.movenext
	wend
	Set rs=nothing
	Set conexaoDatabase=nothing
%>  

</tbody>
</table>

</body>
</html>

<%=Err.Description%>


Continua dando a mensagem:

 

 

An error occurred on the server when processing the URL. Please contact the system administrator.

If you are the system administrator please click here to find out more about this error.

 

Clicando no link fala sobre IIS. Acontece que eu já tem o meu IIS configurado para ASP com Acces.

Será que tem alguma configuração específica no IIS para ASP com MySQL?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Habilitei o IIS para mostra erro "browser" e agora mostrou esse erro:

 

 

Erro de compilação do Microsoft VBScript erro '800a0408'

Caractere inválido

/mysql teste banco dados/teste_conexao8.asp, linha 24

strConexao = strConexao % "; DATABASE=" & strDataBase------------------------^

 

A linha 24 é:

strConexao = strConexao % "; DATABASE=" & strDataBase

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de %, use & para concatenar a variável com o conteúdo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon, Correto! Ficou assim:

strConexao = "Driver={MySQL ODBC 5.3 Driver}; SERVER=" & strDataSoure

strConexao = strConexao & ";DATABASE=" & strDataBase

strConexao = strConexao & ";Uid="& strUser

strConexao = strConexao & ";Pwd="&strPWD  

Abre outro erro. Agora na linha 33

 

Objeto de servidor erro 'ASP 0177 : 800401f3'

Falha em Server.CreateObject

/mysql teste banco dados/01_teste_conexao.asp, linha 33

800401f3

 

Linha 33 é a seguinte:

set objConn = server.CreateObject("ODBC.Connection")

Hargon, sinceramente não estou nem um pouco confiando nas duas páginas, ou seja, nem na 01_teste_conexao.asp nem na mysqlconexao.asp que vou chamar nas demais por include.

Por vafor, observe:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Minha primeira conexão ASP com MySQL </title>

<!--#Include file="mysqlconexao.asp"-
.....

Observe aqui na página mysqlconexao.asp já tem a conexaoDataBase.

<!--Conexão com MySQL-->

<%
Sub AbreConexao
	Set conexaoDataBase = Server.CreateObject("ADODB.Connection")
	conexaoDataBase.CursorLocation=3
        conexaoDataBase.Open "DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=meubancodados;DATABASE=meubancodados;USER=root;PASSORD=admin;"
end sub

sub FechaConexao
	conexaoDataBase.close
	set conexaoDataBase = nothing
end sub
%>	
conexaoDataBase.Open "DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=meubancodados;DATABASE=meubancodados;USER=root;PASSORD=admin;"

E, na 01_teste_conexao.asp tem novamente

conexaoDataBase.Open "DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=meubancodados;DATABASE=meubancodados;USER=root;PASSORD=admin;"

Isso não existe. Tem algo errado. Não faz o menor sentido criar uma página com a string de conexão (mysqlconexao.asp) e digitar a mesma linha na página 01_teste_conexao.asp.

 

Não sei ainda como resolver, mas sei que não é esse o caminho.

Tenho que ter uma página em "asp" com a "string" de "conexão local" as outras páginas trabalham com base na página de "string de conexão".

Mas uma vez obrigado pelo apoio.

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.