ASP (Active Server Pages) é uma das ferramentas propostas pela Microsoft para o desenvolvimento de aplicações para Internet. A conexão entre ASP e o banco de dados geralmente é feita através de ADO (Active Data Object), conforme relatado pelo "Computer World" em 20 de março de 2000. Conforme apresentado. no artigo "Usando ASP para operar banco de dados SQL Server", o ADO pode oferecer suporte total ao Microsoft SQL Server, mas existem algumas dificuldades com os serviços de banco de dados ORACLE que são mais amplamente utilizados e possuem mecanismos mais complexos se você quiser fazer algumas funções de consulta simples. , ADO é suficiente. Se você deseja utilizar melhor as funções exclusivas do banco de dados ORACLE, como STORED PROCEDURE, STORED FUNCTION, etc., você deve usar outra ferramenta poderosa para acessar os serviços de banco de dados ORACLE usando ASP --- Oracle Object for OLE. Servidor de Objetos ORACLE (O Servidor de Objetos Oracle). Este artigo explica a partir de um exemplo como usar os controles fornecidos pelo servidor de objetos ORACLE em ASP para obter acesso ao banco de dados ORACLE e discute como manter as restrições de integridade do banco de dados da rede.
----Oracle Object for OLE é um produto muito necessário desenvolvido pela ORACLE para acesso do cliente a bancos de dados. Ele é baseado em Windows 95/98/NT e pode ser acessado por todos os aplicativos e linguagens de programação compatíveis com OLE. como ASP, Visual Basic excedente97, etc., Oracle Object for OLE inclui ORACLE Object Server (O Oracle Object Server), ORCLE Data Control (O Oracle Data Control) e ORACLE Object Class Library (The Oracle Objects for OLE C++ Class Library) e outros três produtos.
---- Comparado ao ADO, o servidor de objetos ORACLE é um produto dedicado ao desenvolvimento de aplicativos de banco de dados ORACLE. Possui as seguintes vantagens:
---- (1) A conexão com o servidor de banco de dados funciona de forma eficiente. Porque o ADO se conecta ao servidor de banco de dados por meio de ODBC, e o servidor de objetos ORACLE se conecta ao servidor de banco de dados por meio do SQL*NET do ORACLE.
---- (2) Pode utilizar melhor as funções exclusivas do banco de dados ORACLE. Como PROCEDIMENTO ARMAZENADO, FUNÇÃO ARMAZENADA, PACOTE ou Cursor Múltiplo.
---- Este exemplo é um pequeno programa para consultar e inserir catálogos de endereços. Os usuários podem consultar a tabela do catálogo de endereços por meio do navegador ou inserir suas próprias informações para que outros possam consultá-las.
----A estrutura da tabela do catálogo de endereços é a seguinte:
Nome Nulo? Tipo
------------------------------- -------- ----
NOME NÃO NULO CARÁTER(8)
CARACTERIZAÇÃO DE ENDEREÇO(20)
CARACTERIZAÇÃO DO TELEFONE(20)
E-MAIL VARCHAR2(30)
---- Primeiro: configure o ambiente:
----Instale o seguinte software no servidor WEB e configure-o:
---- (1) Servidor WEB básico (SERVIDOR WEB) e ASP e outros softwares
---- (2)Objeto Oracle para OLE2.x
---- (3) SQL*Net Client ou Oracle Net8 Client 8. Após a instalação, use o Sql*Net Easy Configuration para criar um alias de banco de dados (Database Alias), que é o alias usado pelo ASP para se conectar ao banco de dados.
---- dois. Realização de função
---- (1) Consulta: Use ASP para obter os dados da tabela do catálogo de endereços do banco de dados (TSB1) e exibir os dados na tela. A chave para a consulta é determinar se a conexão com o banco de dados foi bem-sucedida. O próprio servidor de objetos ORACLE possui um mecanismo de controle de erros que pode relatar erros de conexão com o banco de dados.
<HTML>
<tile>programa de consulta</title>
<CORPO>
<%
em caso de erro, retome a seguir
'Conecta ao banco de dados
definir orasession=criarobjeto
("OracleInprocServer.XOraSession")
set oradatabase=orasession.
dbopendatabase("axp03","scott/tiger",0)
'Tratamento de erros
se err.número >0 então
resposta.write"< h4 >controle de erro asp< /h4 >"
resposta.write"fonte de erro asp:"&err.source &"< br >"
resposta.write"código de erro asp:"&err.number&"< br >"
resposta.write"descrição do erro asp:"&err.description&"< br >"
err.claro
response.write"< h4 >Controle de erro ORACLE OLE< /h4 >"
resposta.write"Código de erro ORACLE:
"&OraSession.LastServerErr&"< br >"
resposta.write"Descrição do erro ORACLE:
"&OraSession.LastServerErrText&"< br >"
outro
'Consulta
sql="selecione * de tsb1"
definir oradynaset=oradatabase.dbcreatedynaset(sql,0)
resposta.write"< h3 >resultado< /h3 >"
resposta.write"< tabela border=5 >< tr >"
para i=0 para oradynaset.fields.count-1
resposta.write"<td>"
resposta.write oradynaset.fields(i).name & " "
resposta.write"< /td >"
próximo
resposta.write"< /tr >"
faça até oradynaset.eof
resposta.write"<tr>"
para i=0 para oradynaset.fields.count-1
resposta.write"<td>"
resposta.write ouradynaset.fields(i).valor
resposta.write"< /td >"
próximo
resposta.write"< /tr >"
oradynaset.dbmovenext
laço
resposta.write"< /table >"
'Fecha o banco de dados
oradatabase.close
definir orasession = nada
terminar se
%>
</corpo>
</html>
----A seguir está a imagem do resultado da consulta do programa:
Catálogo de endereços
NOME ENDEREÇO TELEFONE E-MAIL
Zhang Ling No. 5 Hubei Road, cidade de Ma'anshan 0555-2887765 [email protected]
Lin Xiang No. 9 Hunan Road, cidade de Ma'anshan 0555-2223856 [email protected]
Nº 504, Edifício 4, Estrada de Mineração Deng Guohong 0555-2474748 [email protected]
Sala 507, Edifício 7, Qingdao Ocean University, Licheng 0464-32456678 [email protected]
Nº 807, Edifício 7, Comunidade Mineira Wang Guozai 0555-3445454 [email protected]
Nº 405, Edifício 17, Hongqi South Road, Ding Gang 0555-2883721 [email protected]
Nº 607, Edifício 7, Estrada Baojiangxi 0554-4566777 [email protected]
---- (2) Insira suas próprias informações: Use ASP para inserir os dados fornecidos pelo usuário no navegador na tabela do catálogo de endereços do banco de dados (TSB1). O banco de dados ORACLE possui um conjunto de mecanismos de restrição de integridade, portanto, o processo de inserção. não é apenas simples Inserir os dados na tabela de forma eficiente e verificar as restrições de integridade. Os dados que não atendem aos requisitos serão recusados para serem inseridos. Se o processamento não for considerado no programa, o programa será interrompido devido a um erro. relatado pelo servidor de banco de dados durante o tempo de execução. O objeto ERR no ASP pode relatar a origem do erro, o código do erro, a descrição do erro, etc., e pode levar o programa ao processamento do erro.
---- A seguir estão os programas, um é insert.htm, que é uma interface de entrada para os usuários inserirem suas próprias informações, e o outro é insert.asp, que é responsável por inserir informações de entrada do usuário no banco de dados e executar erros verificando.
Inserir.htm:
<html>
<cabeça>
< meta http-equiv="Content-Language"
content="zh-cn" >
< meta http-equiv="Tipo de conteúdo"
content="text/html; charset=gb2312" >
<meta name="GERADOR" content=
"Microsoft FrontPage 4.0" >
<meta name="ProgId" content=
"FrontPage.Editor.Documento" >
<title>Por favor, deixe suas informações</title>
</ /head>
<corpo>
< p align="center" >Por favor, insira suas informações</ /p >
<form método="post" action="insert.asp" >
Nome:
< input type="text" name="name" size="8" > < br >
endereço:
< input type="text" name="address" size="20" > < br >
Telefone:
< input type="text" name="phone" size="20" > < br >
E-MAIL: < input type="text" name="email" size="20" > < br >
< tipo de entrada = "enviar" valor = "OK" >
< input type="reset" value="Cancelar" >< br >
</form>
</corpo>
</html>
----A seguir está a interface de entrada do usuário:
Por favor, insira o nome da sua informação:
endereço:
Telefone:
E-MAIL:
Inserir.asp:
<HTML>
<CORPO>
<%
'Conecta ao banco de dados
definir orasession=criarobjeto
("OracleInprocServer.XOraSession")
set oradatabase=orasession.
dbopendatabase("axp03","scott/tiger",0)
'Transforma informações inseridas pelo usuário em instruções SQL
sql = "inserir em valores tsb1
(" &chr(39)&request("nome")&chr(39) &","_
&chr(39)&request("ENDEREÇO")&chr(39)&","_
&chr(39) & request("telefone")&chr(39) &","_
&chr(39)&request("EMAIL")&chr(39)&")"
'Executa instrução de inserção SQL
oradadatabase.dbEXECUTESQL(sql)
'Verifica se há erros de violação de restrição de integridade
SE NÚMERO DE ERRO >0 ENTÃO
resposta.write"< h4 >controle de erro asp< /h4 >"
resposta.write"fonte de erro asp:"&err.source &"< br >"
resposta.write"código de erro asp:"&err.number&"< br >"
resposta.write"descrição do erro asp:"&err.description&"< br >"
OUTRO
'Inserção concluída, retorno
response.write "Inserção concluída, <a href=insert.htm > retorna... < /a >"
terminar se
%>
</corpo>
</html>
---- Acima estão algumas de minhas experiências no uso de ferramentas ASP para mover informações originais do banco de dados ORACLE para aplicativos da Internet. O exemplo é muito simples e tem como objetivo ilustrar o princípio. Também usei STORED PROCEDURE, STORED FUNCTION e PACKAGE. o programa ASP. Aguarde que as funções exclusivas do ORACLE acelerem e melhorem a eficiência. Espero que possa inspirar a todos. Por favor, escrevam para se comunicarem.