Introdução
A partir da versão 12.1.18, os produtos da linha RM passarão a utilizar o "Direct Mode" do provider de conexão (Devart), utilizado para bases de dados Oracle.
O "Direct Mode" implementa a conexão da aplicação RM sem a necessidade de utilizar dll's, providers ou outros artefatos de terceiros para conexão a base Oracle. Antes da implementação, utilizávamos a Oracle Call Interface (OCI) para conexão ao banco de dados Oracle. Esta configuração exigia a existência do Client Oracle, tanto nas máquinas Client, quanto nas máquinas Server, além de demandar a existência do Client em 32 (x86) e 64 (x64) bits.
Para saber mais sobre o "Direct Mode", acesse o artigo Oracle Direct Mode.
Vantagens
As vantagens em se utilizar o "Direct Mode" são:
Informações |
---|
icon | false |
---|
title | PERFORMANCE |
---|
|
Este trecho envolve conteúdo extremamente técnico. |
---|
Iremos mostrar abaixo, os resultados dos testes de comparação de performance, realizados pela empresa Devart, utilizando o "dotConnect for Oracle" (DirectMode) em relação a outros providers ADO .NET, como: "Oracle Client", "OLE DB" e "ODP.NET". - Todos os testes foram realizados em um ambiente que utilizava o Sistema Operacional Windows 2000 Professional;
- Servidor: Intel P4 2.4 / 512 Mb RAM, Oracle9i Enterprise Edition Release 9.2.0;
- Estação de Trabalho: Intel P4 2.0 / 512 Mb RAM, Oracle client 9.2.0;
Operações realizadas em banco: Bloco de código |
---|
language | sql |
---|
firstline | 1 |
---|
title | CreatePerf |
---|
linenumbers | true |
---|
| CREATE TABLE Master (
Code NUMBER,
Field1 VARCHAR(100),
Field2 VARCHAR(100),
Field3 VARCHAR(100)
);
CREATE TABLE Detail (
Code NUMBER,
Master NUMBER,
Field1 VARCHAR(100),
Field2 VARCHAR(100)
);
CREATE TABLE Loaded (
Code NUMBER,
Field1 VARCHAR(100),
Field2 VARCHAR(100),
Field3 VARCHAR(100),
Field4 VARCHAR(100),
Field5 VARCHAR(100)
);
declare
i INTEGER;
begin
for i in 1..1000 loop
INSERT INTO Master (
Code,
Field1,
Field2,
Field3)
VALUES (
i,
'01234567890123456789',
'12345678901234567890',
'23456789012345678901');
end loop;
for i in 1..10000 loop
INSERT INTO Detail (
Code,
Master,
Field1,
Field2)
VALUES (
i,
mod(i,1000) + 1,
'01234567890123456789',
'12345678901234567890');
end loop;
COMMIT;
end;
/
CREATE INDEX Detail_IND ON Detail (Master);
/
CREATE OR REPLACE
PROCEDURE Master_Insert (
p_Code NUMBER,
p_Field1 VARCHAR2,
p_Field2 VARCHAR2,
p_Field3 VARCHAR2
)
is
begin
NULL;
end;
/ |
|
Solução
Artigos relacionados