|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net - CodigoFonte.net |
Criar banco de dados Access com ASPExemplos para criar um arquivo .mbd (banco de dados Access) através de um script ASP. Estas são umas pautas de trabalho e umas referências que achei úteis na hora de solucionar um problema em ASP, consistente em criar um banco de dados em Access (arquivo .mdb) desde zero, ou seja, criar o arquivo .mdb vazio para, uma vez criadas também as tabelas, trabalhar com o banco de dados como se tivesse sido criada com Access.
Logicamente, com Access é muito mais simples criar os bancos de dados, porém este mecanismo tem duas vantagens. Uma simples: que você não necessita ter Access para criar os bancos de dados, e outra mais interessante: que você pode criar os bancos de dados em linha e dinamicamente, de modo que fiquem salvos no seu servidor para realizar os trabalhos que estime oportuno.
Métodos para criar um BD Access 2000 Existem dois métodos para criar um banco de dados Access: ADO e DAO. Vamos ver um pequeno exemplo de cada um. Atenção: Para os dois casos, os diretórios têm que ter permissões de escritura para que funcione corretamente. Exemplo em ADO, Requer MDAC 2.0 Para o exemplo necessita-se ter instalado o Microsoft Data Access Component (MDAC 2.0), que está incluído com a instalação de Microsoft Access 2k, ou, senão, baixar a última versão do (MDAC) em http://www.microsoft.com/data (onde também se encontra o Component Checker para saber que versão você tem instalada). Segundo informação de Microsoft a versão 1.5 do MDAC contem alguns bugs, portanto recomendam atualiza-lo. Dim bancodados Set bancodados = CreateObject("ADOX.Catalog") bancodados.Create "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" & Server.MapPath("prova.mdb") Set bancodados = Nothing Na cadeia utilizada para criar o banco de dados, o valor Engine Type indicado (5) serve para que o banco de dados tenha formato Access 2000. Podíamos ter colocado outros valores para outras versões do motor, por exemplo 3 para Access 95, ou o valor 4 para Access 97. Exemplo em DAO, requer DAO Necessita-se DAO 3.6 ou DAO 3.5. No caso de utilizar DAO 3.5, há que modificar "DAO.DBEngine.36" por "DAO.DBEngine.35" Dim motor Set motor = CreateObject("DAO.DBEngine.36") motor.CreateDatabase Server.MapPath(NomBD&".mdb"), ";LANGID=0x0409;CP=1252;COUNTRY=0", 64 Set motor = Nothing O terceiro parâmetro do método para criar o banco de dados (64) é para indicar a versão do banco de dados, neste caso Access 2000. No caso de desejar outro formato pode-se modificar por exemplo, a 32 no caso de Access 97 ou16 para Access 95. Conclusão As provas foram feitas em 2 PCs com Windows Professional 2000 (SP3) e Office 2000 (SP3) instalado e funcionaram perfeitamente, o mesmo que no meu servidor (hosting contratado) e no de Brinkster (conta gratuita) sem nenhum drama. Também foi provado com êxito no estúdio de CriarWeb.com, utilizando o sistema Windows 98 e o servidor Personal Web Server. Por último, aqui pode-se ver um exemplo que fiz para gerar as db desde ADO ou DAO (3.6). O código está bastante comentado à respeito do funcionamento e os requerimentos do servidor. <%@LANGUAGE="VBSCRIPT"%> <% Gerar = Request.Form("action") if Gerar <> "" then On Error Resume Next Metodo = Request.Form("metodo") Formato = Request.Form ("formato") NomBD = Request.Form ("nomBD") ' ************* Comprovamos segundo que método ************ if Metodo = "ADO" then if Formato = "1" then FormatoBD = 5 FormatoN = "Ms Access 2000" elseif Formato = "2" then FormatoBD = 4 FormatoN = "Ms Access 97" elseif Formato = "3" then FormatoBD = 3 FormatoN = "Ms Access 95" end if ' ********************** ' Para os dois casos os diretorios tem que ' ter permissoes de escritura para que funcione ' corretamente. ' ********************** ' Exemplo em ADO, requer MDAC 2.0 ' ' para saber que versao esta instalada no sistema ' pode usar o Component Checker Tool de ' Microsoft ' http://www.microsoft.com/data/download.htm#CCinfo ' ou baixar a ultima versao em ' http://www.microsoft.com/data/download.htm ' ' Jet10 = 1 ' Jet11 = 2 ' Jet20 = 3 <----------- para Access 95 ' Jet3x = 4 <------------ para Access 97 ' Jet4x = 5 <------------ para Access 2000 ' ********************** ' ***** Comeco ADO ************ Dim Catalog Set Catalog = CreateObject("ADOX.Catalog") Catalog.Create "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type="&FormatoBD&";Data Source="&Server.MapPath(NomBD&".mdb") Set Catalog = Nothing ' ************ Fin ADO ***************** else if Formato = "1" then FormatoBD = 64 FormatoN = "Ms Access 2000" elseif Formato = "2" then FormatoBD = 32 Formato = "Ms Access 97" elseif Formato = "3" then FormatoBD = 16 FormatoN = "Ms Access 95" end if **************** ' Exemplo em DAO, requer DAO 3.6 ou DAO 3.5 para ' DAO 3.5 modificar "DAO.DBEngine.36" por ' "DAO.DBEngine.35" ' ' dbVersao10 = 1 ' dbVersao11 = 8 ' dbVersao20 = 16 <------------ para Access 95 ' dbVersao30 = 32 <------------ para Access 97 ' dbVersao40 = 64 <------------ para Access 2000 **************** ' ********** Comeco DAO ********** Dim Engine Set Engine = CreateObject("DAO.DBEngine.36") Engine.CreateDatabase Server.MapPath(NomBD&".mdb"), ";LANGID=0x0409;CP=1252;COUNTRY=0", FormatoBD Set Engine = Nothing ' ********** Fim DAO *********** end if end if %> <html> <head> <title>Criar *.mdb</title> <style type="text/css"> <!-- body { font-family: Arial, Helvetica, sans-serif; font-size: x-small } --> </style> </head> <body bgcolor="#FFFFFF" text="#000000"> <% if Gerar <> "" then if Err then Response.Write "Houve um erro.<br><br>" Response.Write "<u>Error:</u> " & Err.Description & "<br>" Response.Write "<u>Error N°:</u> " & Err.Number &"." else Response.Write "Base de datos <u>"& NomBD &"</u> fué creada exitosamente!!<br>" Response.Write "Formato: "&FormatoN & "<br>" Response.Write "Metodo usado: "&Metodo end if else %> <!-- Formulario de criacao //--> <form name="criador" action="criar_db.asp" method="POST"> Nome do BD: <input type="text" name="nomBD"><br> Formato: <select name="formato"> <option value="1" selected>Access 2000</option> <option value="2">Access 97</option> <option value="3">Access 95</option> </select><br> Método:<br> <input type="radio" name="metodo" value="ADO" checked><small>ADO (requer MDAC 2.0)</small><br> <input type="radio" name="metodo" value="DAO"><small>DAO (requer DAO 3.6)</small><br><br> <input type="submit" value="Criar"> <input type="hidden" name="action" value="si"> </form> <!-- Fim formulario //--> <% end if %> </body> </html> Una referência útil que foi consultada para documentar este artigo é Criar um banco de dados MDB com Visual Basic (Em inglês).
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 3 Categorias relacionadas + 1 Comentário (Acrescentar) + 4 Comentários sem rever
Manuais relacionados com este artigo Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em Access+ Entrar em Scripts em ASP + Entrar em Bases de dados com ASP Comentários dos visitantes
Comentário sem rever
|
|||||||||||||||||
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |