1 acesso universal a dados. 2 universal data access (uda) é a estratégia da microsoft para acesso...
TRANSCRIPT
![Page 1: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/1.jpg)
1
Acesso Universal a Dados
![Page 2: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/2.jpg)
2
• Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes de informação relacionais ou não.
![Page 3: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/3.jpg)
3
Componentes da UDA
• Microsoft ActiveX Data Objects (ADO)
• Object Linking and Embedding for Databases (OLE DB)
• Open Data Base Connectivity (ODBC)
![Page 4: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/4.jpg)
4
OLE DB
– OLE DB é um conjunto de interfaces do Component Object Model (COM) que fornece aos programas de aplicação acesso uniforme a dados armazenados em diversas fontes de informação além de implementar serviços de bancos de dados. Esta interface, tendo sido projetada para otimizar a funcionalidade não é simples nem amigável.
![Page 5: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/5.jpg)
5
ADO– ADO caracteriza um modelo de programação ou
seqüência de atividades necessária para que se tenha acesso a uma fonte de dados e se possa atualiza-la. Este modelo é orientado a objeto. Os objetos possuem métodos que executam operações sobre os dados, e propriedades, que ou representam algum atributo dos dados ou controlam o comportamento de algum método de objeto. Associados aos objetos ocorrem os eventos, que são notificações de que alguma operação ou ocorreu ou está prestes a ocorrer.
![Page 6: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/6.jpg)
6
Modelo ADOSeqüência de ações:
– Conexão a uma fonte de dados.
– Especificação de um comando(parâmetros).
– Execução do comando (linhas em uma estrutura de dados).
– Atualização da fonte de dados com as modificações feitas.
– Detecção de erros (dificuldades no estabelecimento da conexão ou na execução do comando).
![Page 7: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/7.jpg)
7
![Page 8: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/8.jpg)
8
Definições
![Page 9: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/9.jpg)
9
Connnection
Conexão é o ambiente necessário para a troca de dados. Isto é feito por meio de um objeto Connection. Opcionalmente pode-se especificar a existência de transações que delimitem o início e o final de uma série de operações de aceso a dados com uma unidade lógica entre elas.A fonte de dados alvo de uma conexão pode ser especificada por um connection string ou um URL.
![Page 10: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/10.jpg)
10
Command
Um comando é uma forma de manipular os dados através de uma conexão estabelecida. Os comandos adicionam, excluem ou atualizam dados na fonte de dados ou ainda recuperam dados sob a forma de linhas de uma tabela.
![Page 11: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/11.jpg)
11
Parameter
– Parâmetros fornecem partes variáveis de comandos, sendo úteis para comandos que se comportam como funções. Por exemplo um comando para transferir recursos de uma conta bancária para outra recebe como parâmetros os valores a transferir e os números das contas e o mesmo comando serve para múltiplas aplicações. O modelo utiliza o objeto Parameter.
![Page 12: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/12.jpg)
12
RecordSetComandos que retornam dados sob a forma de linhas de uma tabela os armazenam
em um armazenamento local que o modelo denomina de objeto RecordSet, que é uma maneira de examinar e modificar essas linhas, permitindo:
• Especificação das linhas disponíveis para exame• Percurso sobre as linhas• Especificação da ordem de percurso sobre as linhas• Adicionar, excluir ou modificar linha• Atualizar a fonte de dados com as linhas modificadas• Gerenciar o estado do RecordSet como um todo
![Page 13: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/13.jpg)
13
Field
As linhas de um RecordSet consistem de um ou mais campos, contidos em objetos Fields. O conjunto de campos semelhantes forma uma coluna que tem atributos tais como:
• Nome• Tipo de dado
• Valor
![Page 14: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/14.jpg)
14
Error
Os erros ocorrem nas aplicações usualmente como resultado de:
– Incapacidade de estabelecimento de uma conexão
– Incapacidade de execução de um comando– Incapacidade de execução de uma operação
sobre um objeto no estado em que se encontra, tal como tentar utilizar um objeto RecordSet ainda não inicializado
![Page 15: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/15.jpg)
15
Property
– Cada objeto ADO possui um conjunto de propriedades que descrevem o objeto ou controlam seu comportamento. Existem propriedades embutidas que estão sempre presentes e propriedades dinâmicas que são fornecidas pelo provedor de dados ou provedor de serviços e que existem apenas durante a utilização desse provedor.
![Page 16: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/16.jpg)
16
Record
Os objetos Record permitem a utilização dos conceitos de container e content. Os containers são componentes de sistemas de armazenamento de informações que abrigam conteúdos de informação ou outros containers subordinados. Em um sistema de arquivos os containers são os diretórios e os contents são os arquivos. Em um sistema de correio eletrônico os containers são as pastas e os contents são as mensagens.
![Page 17: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/17.jpg)
17
Record
Estes conceitos ampliam o horizonte pois nem todas as fontes de dados estão armazenadas em tabelas de bancos de dados. Records podem ser utilizados como containers ou contents. Um objeto Record pode representar itens tais como um diretório ou arquivo, ou ainda uma linha de um RecordSet.
![Page 18: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/18.jpg)
18
CollectionAs Collections são objetos que contem outros objetos de um
dado tipo. Os objetos da coleção podem ser recuperados por meio de propriedades da Collection tais como nome, um string ou por posição ordinal. As quatro Collections do modelo ADO são:
• Connection
• Command
• RecordSet
• Properties
![Page 19: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/19.jpg)
19
Event
Eventos são notificações de que alguma operação ou ocorreu ou está prestes a ocorrer. Por meio de eventos pode organizar as aplicações contendo diversas tarefas assíncronas. Os manipuladores de eventos são um meio poderoso de programação. Quando invocados antes da realização de uma operação dão a oportunidade de examinar ou modificar os parâmetros da operação ou até cancela-la se for desejado. Quando invocados após a o término de uma operação notificam a realização de uma operação assíncrona.
![Page 20: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/20.jpg)
20
Tutorial dos ADO
![Page 21: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/21.jpg)
21
Tutorial dos ADO
A fonte de dados utilizada foi especificada como sendo o Banco de Dados com ODBC DSN=pubs. Este Banco é fornecido com Microsoft SQL Server. Os exemplos que serão apresentados foram baseados na tabela authors.
![Page 22: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/22.jpg)
22
Esquema da tabela Authors
![Page 23: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/23.jpg)
23
Passo 1 - Abertura de uma conexãoconnection.Open ConnectionString, UserID, Password, OpenOptions
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
ActiveConnection pode ser um string, uma variável representando um string ou um objeto Connection especificando uma conexão aberta.
Exemplo:
Dim cnn as New ADODB.Connection
cnn.Open "DSN=pubs;uid=sa;pwd=;database=pubs"
![Page 24: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/24.jpg)
24
Passo 2 - Criação de um comando
Comandos são especificados por um texto que é um string ou uma variável que representa um
string valor da propriedade CommandText de um objeto Command
Exemplo:
Dim cmd As New ADODB.command
Set cmd.ActiveConnection = cnn
cmd.CommandText = "SELECT * from authors"
![Page 25: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/25.jpg)
25
Passo 2 - Criação de um comando
– O conteúdo de um comando SQL é fixo mas pode-se criar um comando parametrizado nos quais os identificadores de lugar de inserção, '?' , possam ser substituídos pelos parâmetros por ocasião da execução do comando. O desempenho dos comandos parametrizados pode ser otimizado com o uso da propriedade Prepared
![Page 26: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/26.jpg)
26
Passo 2 - Criação de um comando
Command cmd = New ADODB.Command
cmd.CommandText = "SELECT * from authors WHERE au_lname = ?"
Este processo é genérico mas, no modelo Microsoft, exige a especificação de um objeto Parameter e sua incorporação à coleção Parameters. Após a especificação deve-se criar um objeto Parameter e fazer a atribuição de suas propriedades.
![Page 27: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/27.jpg)
27
Passo 3 - Execução de um comando
connection.Execute(CommandText, RecordsAffected, Options)
command.Execute(RecordsAffected, Parameters, Options)
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
![Page 28: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/28.jpg)
28
Passo 3 - Execução de um comandoA execução de comandos exige a existência de uma conexão aberta. Cada método representa uma conexão de sua maneira:
Connection.Execute usa a conexão embutida no objeto Connection.
Command.Execute usa o objeto Connection especificado pela propriedade ActiveConnection.
Recordset.Open usa ou o connect string ou o objeto Connection operando, ou ainda o objeto Connection especificado na sua propriedade ActiveConnection.
![Page 29: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/29.jpg)
29
Passo 3 - Execução de um comando Usando Connection.Execute o comando é especificado no texto. Usando Command.Execute o comando não é visível, sendo
especificado pela propriedade Command.CommandText e podendo ser parametrizado.
Usando Recordset.Open o comando é o argumento Source que pode ser ou um texto ou um objeto Command.
Exemplo:
Recordset rs = New ADODB.Recordset
rs.Open cmd, conn, adOpenDymanic, adLockBatchOptimistic
![Page 30: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/30.jpg)
30
Passo 4 - Tratamento dos dados
• A manipulação de dados é a usual em Recordsets podendo-se usar a propriedade Filter para controlar as linhas às quais se tenha acesso e a propriedade Sort para controlar a ordem de navegação.
![Page 31: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/31.jpg)
31
Passo 4 - Tratamento dos dadosrs!au_lname.Optimize = TRUE
rs.Sort = "au_lname ASCENDING"
rs.Filter = "phone LIKE '415 5*'"
rs.MoveFirst
Do While Not rs.EOF
Debug.Print "Name: " & rs!au_fname & " " rs!au_lname & _
"Phone: " rs!phone & vbCr
rs!phone = "777" & Mid(rs!phone, 5, 11)
rs.MoveNext
Loop
![Page 32: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/32.jpg)
32
Passo 5 - Atualização dos dados• As atualizações feitas nos dados de uma linha ou
registro corrente não são aplicadas imediatamente ao Recordset correspondente, ficando em um “buffer” de cópia ou podendo então ser aplicadas à fonte de dados ou descartadas. A propagação das atualizações até a fonte de dados pode ser efetuada de uma de dois modos:
Modo imediato, no qual as atualizações se propagam tão logo se declare que a linha está completa.
Modo “batch”, no qual são realizadas atualizações em um conjunto definido de linhas e só quando se declarar completas as atualizações nesse conjunto de linhas a propagação se realiza sob a forma de um lote (“batch”).
![Page 33: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/33.jpg)
33
Passo 5 - Atualização dos dadosNo modo imediato o método Update propaga as
atualizações até a fonte de dados. No modo “batch” cada invocação do método Update propaga as alterações até o “buffer” de cópia mas só o método UpdateBatch
propaga as alterações até a fonte de dados. Isto ocorre sempre que o Recordset tenha sido aberto no modo “batch” (adLockBatchOptimistic).
![Page 34: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/34.jpg)
34
Passo 5 - Atualização dos dadosPara utilizar transações usa-se a sintaxe que se segue.
conn.BeginTrans
rs.UpdateBatch
...
![Page 35: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/35.jpg)
35
Passo 6 - Conclusão da atualização
Caso uma transação esteja pronta para ser aceita faz-se a atualização da fonte de dados da forma.
...
conn.CommitTrans
Caso haja erros em parte de uma transação filtra-se o Recordset com a constante e anulam-se as alterações porventura feitas.
![Page 36: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/36.jpg)
36
Passo 6 - Conclusão da atualização...
On Error
rs.Filter = adFilterConflictingRecords
rs.MoveFirst
Do While Not rs.EOF
Debug.Print "Conflict: Name: " & rs!au_fname " " & rs!au_lname
rs.MoveNext
Loop
conn.Rollback
Resume Next
...
![Page 37: 1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes](https://reader034.vdocument.in/reader034/viewer/2022051820/552fc10b497959413d8c175c/html5/thumbnails/37.jpg)
37
Passo 6 - Conclusão da atualização
...
Após a conclusão das atualizações os objetos Recordset e Connection são fechados e o programa termina, da forma abaixo.
Rst.Close
Cnn.Close