Usando procedimentos armazenados para implementar acesso ao banco de dados ASP
Autor:Eve Cole
Data da Última Atualização:2009-06-24 17:21:43
1. Visão geral do ADO
ActiveX Data Objects (ADO) é uma tecnologia escalonável e fácil de usar para adicionar acesso ao banco de dados às suas páginas da Web. Você pode usar o ADO para escrever scripts concisos e escalonáveis para conectar-se a fontes de dados compatíveis com OLE DB, como bancos de dados e planilhas. , arquivos de dados sequenciais ou diretórios de e-mail. OLE DB é uma interface de programação em nível de sistema que fornece um conjunto de interfaces COM padrão para exibir as funções do sistema de gerenciamento de banco de dados. Usando o modelo de objeto do ADO, você pode acessar facilmente essas interfaces (usando uma linguagem de script como VBScript ou JScript) e adicionar funcionalidade de banco de dados ao seu aplicativo Web. Além disso, você pode usar o ADO para acessar bancos de dados compatíveis com Open Database Connectivity (ODBC).
Se você é um escritor de scripts com algum conhecimento de interconexões de bancos de dados, descobrirá que a sintaxe de comando do ADO é simples e fácil de usar. Se você for um desenvolvedor experiente, apreciará o acesso escalonável e de alto desempenho que o ADO fornece a uma variedade de fontes de dados.
2. Métodos gerais de acesso ao banco de dados O acesso ao banco de dados em geral é realizado de acordo com as etapas a seguir. Primeiro, crie um objeto da interface ADODB.Connection e, em seguida, vincule a fonte de dados correspondente a este objeto (você. pode usar a fonte de dados nomeada e a fonte de dados sem nome), criar ou não um conjunto de registros conforme necessário e, em seguida, vincular-se à fonte de dados e usar o método execute ou open para operar a tabela correspondente.
O método geral de ASP acessando o banco de dados:
<
Definir oConn=Server.CreateObject("ADODB.Connection")
Definir oRS=Server.CreateObject("ADODB.RecordSet")
set strConn="Provider=SQLOLEDB;User ID=sa; Catálogo inicial=Pubs;Data Source=" &request.ServerVariables("SERVER_NAME")
oConn.open strConn
set ORS=oConn.execute("selecione * do teste")
>
A descrição acima apresenta como usar OLEDB para links sem nome. Se for um link nomeado, defina-o como o teste da fonte de dados e o nome de usuário e a senha estarão vazios. Você só precisa reescrever a instrução acima oConn.open "test". "",""
O texto acima apresenta brevemente os métodos gerais de acesso ao banco de dados em páginas da web. Eles já são muito maduros e muito úteis. Se o acesso a determinados dados for muito complicado na prática, serão necessárias quase 10 instruções SQL para ser concluído. falta um pouco. Além disso, às vezes é necessário usar o mesmo processo de processamento em diferentes páginas da web, e isso é o mais vantajoso para usar procedimentos armazenados. Outra grande característica é que os procedimentos armazenados são muito técnicos. e é armazenado no banco de dados do servidor remoto.
3. O uso de procedimentos armazenados em ASP ADO fornece acesso a procedimentos armazenados, o que requer o uso do objeto de comando. Neste objeto, os usuários podem executar diretamente os procedimentos armazenados do servidor SQL, e os parâmetros exigidos no comando podem ser. É processado usando suas propriedades Pamaters.
Observe que para um objeto Command ser válido, ele deve estar associado a um objeto Connection, definindo a propriedade ActiveConnection do objeto Command como o objeto Connection. Se um objeto Connection não puder ser identificado, o objeto Command será inválido até que você o associe a uma conexão.
<Dim oConn
Dim strConn
Escurecer oCmd
Escurecer oRs,or1
escurecer aa
dimsql
Definir oConn = Server.CreateObject("ADODB.Connection")
definir oCmd = Server.CreateObject("ADODB.Command")
definir ors1=Server.CreateObject("ADODB.RecordSet")
'Abra o link, use o ID do usuário SA, a senha está vazia, conecte-se ao banco de dados no servidor local
strConn="Provider=SQLOLEDB;User ID=sa;Initial Catalog=pubs;Data Source="& Request.ServerVariables("SERVER_NAME")
'Se você se conectar a um banco de dados remoto, o endereço do banco de dados é: 10.82.88.105, o usuário é tmp e a senha é 123.
'O seguinte método pode ser usado' strConn="Provider=SQLOLEDB;User ID=tmp;pwd=123;Initial Catalog=tjbb;Data Source="& "10.82.88.110"
oConn.Open strConn
'Adiciona o link estabelecido ao atributo do link ativo do comando
Definir oCmd.ActiveConnection = oConn
'Definir o procedimento armazenado de chamada por royalties e parâmetros, os parâmetros são por? introduzir
oCmd.CommandText = "{chamar porroyalty(?)}"
oCmd.Parameters.Append oCmd.CreateParameter("@Percentage", adInteger, adParamInput)
' Fornece parâmetros de entrada
oCmd("@Porcentagem") = 75
'O uso dos parâmetros de entrada acima em asp também pode ser alcançado sem atributos de parâmetro, basta usar & em VB para formar os dados correspondentes no texto do comando' O uso de parâmetros é particularmente útil durante a saída
Definir oRs = oCmd.Execute
ors1.activeconnection=oconn
'Instruções SQL gerais também podem ser usadas neste objeto de comando usando os atributos Source e open, onde source aponta a fonte de dados.
ors1.source ="selecione * de [tmptable] onde ano=2000 e mês=1"
ors1.cursorttype=adopenstatic
ors1.open
>
4. Introdução aos procedimentos armazenados em SQL Usando a linguagem SQL, você pode escrever procedimentos armazenados para acesso ao banco de dados.
CREATE PROC[EDURE] nome_procedimento [;número]
[
{@parameter data_type} [VARYING] [= padrão] [OUTPUT]
]
[,...n]
[COM
{
RECOMPILAR
ENCRIPTAÇÃO
RECOMPILAR, CRIPTOGRAFIA
}
]
[PARA REPLICAÇÃO]
COMO
instrução_sql [...n]
O conteúdo entre [] é opcional, enquanto o conteúdo entre () é obrigatório.
Exemplo: Se o usuário deseja criar um procedimento armazenado Select_delete para excluir registros na tabela tmp, ele pode ser escrito como:
Criar processo select_del como
Excluir tmp
Exemplo: O usuário deseja consultar o procedimento armazenado para obter dados de um determinado ano na tabela tmp
crie proc select_query @year int como
selecione * de tmp onde ano=@ano
Aqui @year é um exemplo de parâmetro de um procedimento armazenado: este procedimento armazenado começa a partir de um determinado nó n para encontrar o nó pai de nível superior. Este processo usado com frequência pode ser executado por um procedimento armazenado e pode ser reutilizado em páginas da web para alcançar. compartilhamento. .
Vazio: indica que o nó é um nó de nível superior
fjdid (número do nó pai)
O nó n não está vazio: indica o número do nó pai do nó
dwmc (nome da unidade)
CREATE proc search_dwmc @dwidold int,@dwmcresult varchar(100) saída
como
declare @stop int
declare @resultado varchar(80)
declare @dwmc varchar(80)
declare @dwid int
ativar nocount
definir @parar=1
definir @dwmc=""
selecione @dwmc=dwmc,@dwid=convert(int,fjdid) de jtdw onde id=@dwidold
definir @resultado=rtrim(@dwmc)
se @dwid=0
definir @parar=0
enquanto (@stop=1) e (@dwid<>0)
começar
definir @dwidold=@dwid
selecione @dwmc=dwmc,@dwid=convert(int,fjdid) de jtdw onde id=@dwidold
se @@rowcount=0
definir @dwmc=""
outro
definir @resultado=@dwmc+@resultado
se (@dwid=0) ou (@@rowcount=0)
definir @parar=0
outro
continuar
fim
definir @dwmcresult=rtrim(@resultado)
O uso completo e razoável de procedimentos armazenados pode melhorar o rendimento do servidor. O autor usa procedimentos armazenados para obter dados de quase 20 tabelas e combiná-los em uma tabela geral, gerando cerca de 20.000 registros, e o tempo necessário é de cerca de 7 segundos. a operação pode melhorar o desenvolvimento do servidor a um nível superior com a ajuda de páginas da web dinâmicas mais razoáveis, fazendo pleno uso de procedimentos armazenados, o que pode reduzir o processamento pesado causado pelo design da web, para que o código escrito possa ser compartilhado e utilizado de forma razoável, e o código pode estar oculto no banco de dados do servidor, algumas tecnologias são mantidas em sigilo. Esse também é um recurso importante dos procedimentos armazenados. Espero que os leitores possam se beneficiar disso.