Ir para conteúdo

POWERED BY:

Arquivado

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

Alex_ps

Criar Banco de Dados MySql com ASP

Recommended Posts

Oi pessoal,

 

Estou com um banco de dados que não pode ser Access por que é muito grande.

Ao mesmo tempo, eu não gostaria de trabalhar com um único banco porque são vários clientes e cada um com diversas informações de áreas diferentes, que precisaria ter cada uma a sua tabela.

PAra não mistrurar informações de clientes na mesma tabela, eu gostaria de criar o banco Mysql com código do mesmo jeito que se faz com Access.

Dá para ser feito?

 

Algo do tipo:

create database...

 

O que precisa vir antes, alguma coisa como comunicação com o Mysql, autorização?

 

Obrigado.

 

Alex

Compartilhar este post


Link para o post
Compartilhar em outros sites

com certeza, você consegue criar aplicações ASP com qualquer estrutura de banco de dados, dá uma olhadaneste exemplo,O servidor de banco de dados MySQL não é mais uma exclusividade dos servidores Linux, nem da linguagem PHP. Com o MyODBC, um driver ODBC para acessar servidores MySQL, diversos programas e outras linguagens também podem usar essa poderosa ferramenta. Dentre eles, o Visual Basic, o Delphi, o Excel, o Cold Fusion e o ASP. São Muitas vantagens.

 

O MySQL é mais eficiente que o Access, portanto, o seu site pode ficar muito mais rápido sem que seja feita nenhuma alteração na programação. Além disso, se você desenvolve sites em diversas linguagens, não precisa criar bancos de dados duplicados (um no SQL Server, outro no MySQL, e outros) pois tudo pode ficar num só local, economizando tempo no desenvolvimento do site.

 

A seguir, você confere as informações para usar o MyODBC. Para testá-lo, instale em seu computador o servidor o MySQL Server - 12MB, para Windows 95/98/ME/NT/2000/XP/Vista, MyODBC - 1.5MB, para Windows 95/98/ME ou MyODBC 1.5MB para Windows NT/2000/XP, e o Personal Web Sever ( servidor Web com suporte a ASP da Microsoft). Caso não esteja instalado no seu servidor, solicite a instalação desse driver ao suporte técnico do seu provedor de hospedagem.

 

Instalação:

 

Com o driver MyODBC já instalado, você precisa editar o código ASP para fazer a conexão com o servidor. Existem duas formas para acessar o servidor MySQL, uma com DSN (Data Sourse Name – Nome da Fonte de Dados) e outra sem. Veja como ela são feitas:

 

Conexão com DSN:

 

Antes de editar o código-fonte ASP, você precisa criar o DSN no ODBC para fazer a conexão com o banco de dados. Para isso, abra o Painel de controle do Windows e entre em Fonte de dados ODBC. Clique na aba DSN de sistema, dê Adicionar, selecione MySQL e dê OK.

 

Preencha o formulário, onde o Windows DSN Name é o nome que desejar (por exemplo, "bancodedados"). MySQL Host é o endereço do servidor, MySQL Database Name é o nome do banco de dados a ser acessado. User é seu nome de usuário e Password é a sua senha. Dê OK, digite o código abaixo no arquivo com_dsn.asp no editor de sua preferência e salve-o na pasta "c:inetpubwwwroot".

 

com_dsn.asp

<%
Set cnnDB = Server.CreateObject("ADODB.Connection")
cnnDB.ConnectionString = "DSN=bancodedados"
cnnDB.Open
%>

No script, o parâmetro “bancodedados” é o nome do DSN criado no ODBC. Abra o seu navegador e acesse o endereço http://127.0.0.1/com_dsn.asp. Se nenhuma mensagem for exibida na tela, a conexão foi realizada com sucesso. Caso contrário, serão informados os erros ocorridos.

 

Suponhamos que o DSN desejado foi o "mysql_dsn". Uma vez criado, segue abaixo o código ASP efetuando a conexão e tentando listar os campos da tabela "Contatos".

 

<%
on error resume next
dim adoConn
dim adoRS
dim counter
set adoConn = Server.CreateObject("ADODB.Connection")
set adoRS = Server.CreateObject("ADODB.Recordset")
adoConn.Open "DSN=mysql_dsn"
adoRS.ActiveConnection = adoConn
if adoConn.errors.count = 0 then
response.write "<h2>Campos na tabela 'Contatos':</h2>"
adoRS.Open "describe Contatos"
while not adoRS.EOF
response.write adoRS.fields(0).value & "<br>"
adoRS.MoveNext
wend
else
response.write "ERRO: Não foi possível conectar!"
end if
%>

 

Conexão usando string

Segue abaixo o código ASP efetuando a conexão e tentando listar os campos da tabela "Contatos". Neste exemplo não é preciso solicitar a criação do DSN, pois estão sendo informados na string de conexão os seguintes elementos:

Driver usado:

MySQL ODBC 3.51 Driver

Server:

localhost

Database:

nome da base de dados

Uid:

login

Pwd:

senha

 

 

 

<%
on error resume next
dim adoConn
dim adoRS
dim counter
set adoConn = Server.CreateObject("ADODB.Connection")
set adoRS = Server.CreateObject("ADODB.Recordset")
adoConn.Open "Driver=MySQL ODBC 3.51 Driver; Server=localhost; Database=banco; Uid=seulogin;
Pwd=suasenha;"
adoRS.ActiveConnection = adoConn
if adoConn.errors.count = 0 then
response.write "<h2>Campos na tabela 'Contatos':</h2>"
adoRS.Open "describe Contatos"
while not adoRS.EOF
response.write adoRS.fields(0).value & "<br>"
adoRS.MoveNext
wend
else
response.write "ERRO: Não foi possível conectar!"
end if
%>

 

Manipulando dados em uma base MySQL

Abaixo o código usa o DSN criado anteriormente. Após a conexão é usada um comando (query) para inserir dados na tabela "Contatos".

 

 

<%
on error resume next
dim adoConn
dim adoRS
dim strQuery
set adoConn = Server.CreateObject("ADODB.Connection")
adoConn.Open "DSN=mysql_dsn"
strQuery = "INSERT INTO Contatos VALUES(0, 'Jill', 'Smith', '20 Santamonica Parade', 'Beverly
Hills', '555 0303')"
adoConn.Execute strQuery
%>

Pode-se também atualizar um registro, mudando o comando SQL:

 

strQuery = "UPDATE Contatos SET firstName = 'Jack' WHERE firstName = 'Jill'"

E para deletar um registro, pode-se fazer como abaixo:

 

strQuery = "DELETE FROM Contatos WHERE firstName = 'Jack'"

Pode-se ainda gerar uma consulta:

 

SELECT * FROM Contatos

 

#

 

 

CREATE TABLE `guests` (

 

`gid` int(4) NOT NULL auto_increment,

 

`name` varchar(20) NOT NULL,

 

`comment` text NOT NULL,

 

`dateAdd` date NOT NULL,

 

PRIMARY KEY (`gid`)

 

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

 

 

#

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Amigo,

 

Desculpe se não expliquei corretamente.

Esta parte de conexão com o MySql, eu conheço sem nenhum problema.

O problema é que eu quero criar o banco sem utilizar o MySQLAdmin.

Eu preciso dar ao meu cliente a opção de, cada vez que ele cadastrar um cliente novo no sistema, o novo cliente receba um número e seja criado um banco de dados Mysql que terá como nome este número.

Em Access eu faço e encontrei exemplos de SQL SERVER, mas como não disponho no servidor deste BD, não posso usá-lo.

Então, criar é criar do zero, depois criar as tabelas, e aí sim chegamos no post abaixo que é de popular as tabelas.

OK?

Agradeço de qualquer forma a sua gentileza em responder.

Um abraço,

Alex

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o CREATE TABLE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xanburzum,

 

O Create table é para criar uma tabela em um banco já existente e é exatamente aí que o bicho pega, ou seja, eu não sei criar o banco e nem mesmo sei se dá para criar o banco em Mysql com código ASP.

Se alguém souber, agradeço.

Abraços,

Alex

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Alex_Ps,

 

Vi o seu problema, e consegui resolver com poucas linhas de código, segue o código para você.

 

 

<%
'=================================================================================================================================
'																	                                                             '
'                         Programado por Pedro Felipe - PF Webmaster: pfwebmaster@hotmail.com                                    '
'																	                                                             '
'=================================================================================================================================


'Declaração das variáveis ========================================================================================================

	Dim Conexao
	Dim Registro
	Dim cmdSQL

'=================================================================================================================================


'Comandos em ASP ========================================================================================================


' dando os comandos em SQL para a variavel cmdSQL

	
	cmdSQL = "CREATE DATABASE google;"


'setei a conexão com o Server.CreateObject("ADODB.Connection")


	Set Conexao = Server.CreateObject("ADODB.Connection")
	Conexao.Open "Driver=MySQL ODBC 5.1 Driver;Server=localhost;Uid=root;PassWord=123;"

	
'agora vou setar o registro para exectuar o a variavel cmdSQL


	Set Registro = Conexao.Execute (cmdSQL)

	
	Response.Write("Database criada com Sucesso.")
	

'=================================================================================================================================


'<!-- 'fechando a conexão, destruindo o Objeto Connection, fechando o Registro, destruindo o Objeto RecordSet -->	
	
	Conexao.Close
	Set Conexao = Nothing


'<!--=================================================================================================================================-->

%>

Qualquer dúvida, pergunte novamente.

 

[]'s

 

Response.Write("Pedro Felipe - ASP Programmer")

Compartilhar este post


Link para o post
Compartilhar em outros sites

CREATE {DATABASE | SCHEMA} [iF NOT EXISTS] db_name

[create_specification] ...

 

create_specification:

[DEFAULT] CHARACTER SET [=] charset_name

| [DEFAULT] COLLATE [=] collation_name

CREATE DATABASE creates a database with the given name. To use this statement, you need the CREATE privilege for the database. CREATE SCHEMA is a synonym for CREATE DATABASE as of MySQL 5.0.2.

An error occurs if the database exists and you did not specify IF NOT EXISTS

 

Extraido de : http://dev.mysql.com/doc/refman/5.0/en/create-database.html

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.