Usando OraOLEDB Custom Properties com Microsofts OLE DB .NET Data Provider usando Oracle Provider for OLE DB

Exemplo de string de conexão com Oracle usando Oracle Provider for OLE DB

Exemplo de string de conexão

Essa é uma string de conexão do provider Oracle Provider for OLE DB para se conectar com Oracle.

Usando OraOLEDB Custom Properties com Microsofts OLE DB .NET Data Provider

As propriedades SPPrmsLOB e NDatatype só podem ser definidas como atributos de string de conexão quando OraOLEDB é usado pelo OLE DB .NET Data Provider.

Provider=OraOLEDB.Oracle;Data Source=BancoDeDados;User Id=Usuario;Password=Senha;OLEDB.NET=True;SPPrmsLOB=False;NDatatype=False;SPPrmsLOB=False;

Usando ADO, essas propriedades teriam sido definidas como uma propriedade no comando. Isso não é possível ao usar o Microsofts OLE DB .NET Data Provider. Assim, as propriedades são especificadas na string de conexão em vez disso.

PLSQLRSet: Se o procedimento armazenado, fornecido pelo consumidor, retornar um conjunto de linhas, PLSQLRSet deve ser definido como TRUE (ativado).

NDatatype: Esta propriedade permite que os consumidores especifiquem se algum dos parâmetros vinculados ao comando são dos N datatypes da Oracle (NCHAR, NVARCHAR ou NCLOB). OraOLEDB precisa desta informação para detectar e vincular os parâmetros adequadamente. Esta propriedade não deve ser definida para comandos que executam instruções SELECT. No entanto, esta propriedade deve ser definida para todos os outros SQLs, como INSERT, UPDATE e DELETE.

SPPrmsLOB: Esta propriedade permite ao consumidor especificar se um ou mais dos parâmetros vinculados aos procedimentos armazenados são do datatype LOB da Oracle (CLOB, BLOB ou NCLOB). OraOLEDB requer que esta propriedade seja definida como TRUE, para buscar a lista de parâmetros do procedimento armazenado antes da execução. O uso desta propriedade limita a sobrecarga de processamento a procedimentos armazenados que têm um ou mais parâmetros do datatype LOB.

Conexão através de diferentes linguagens

C#

Exemplo de código em C# de conexão com Oracle usando Oracle Provider for OLE DB:

using System;
using System.Data.OleDb;

class DatabaseConnection {
    static void Main() {
        // Define a string de conexão Oracle usando Oracle Provider for OLE DB
        string connectionString = "Provider=OraOLEDB.Oracle;Data Source=BancoDeDados;User Id=Usuario;Password=Senha;OLEDB.NET=True;SPPrmsLOB=False;NDatatype=False;SPPrmsLOB=False;";

        using (OleDbConnection connection = new OleDbConnection(connectionString)) {
            try {
                // Abre a conexão
                connection.Open();

                Console.WriteLine("Conexão aberta com sucesso!");

                //
                // INSIRA SEU CÓDIGO AQUI
                //

            } catch (OleDbException ex) {
                // Erros específicos do OleDbException
                Console.WriteLine("Erro: " + ex.Message);
            } catch (Exception ex) {
                // Outros erros
                Console.WriteLine("Erro: " + ex.Message);            
            } finally {
                // Fecha a conexão
                if (connection != null) {
                    connection.Close();
                    Console.WriteLine("Conexão fechada.");
                }
            }
        }
    }
}

Se estiver usando .NET Core, você precisa antes instalar o pacote System.Data.OleDb com o seguinte comando:

dotnet add package System.Data.OleDb

VB.NET

Exemplo de código em VB.NET de conexão com Oracle usando Oracle Provider for OLE DB:

Imports System
Imports System.Data.OleDb

Module DatabaseConnection

    Sub Main()
        Dim connectionString As String
        
        ' Define a string de conexão Oracle usando Oracle Provider for OLE DB
        connectionString = "Provider=OraOLEDB.Oracle;Data Source=BancoDeDados;User Id=Usuario;Password=Senha;OLEDB.NET=True;SPPrmsLOB=False;NDatatype=False;SPPrmsLOB=False;"

        Using connection As New OleDbConnection(connectionString)
            Try
                ' Abre a conexão
                connection.Open()

                Console.WriteLine("Conexão aberta com sucesso!")

                '
                ' INSIRA SEU CÓDIGO AQUI
                '

            Catch ex As OleDbException
                ' Erros específicos do OleDbException
                Console.WriteLine("Erro: " & ex.Message)
            Catch ex As Exception
                ' Outros erros
                Console.WriteLine("Erro: " & ex.Message)
            Finally
                ' Fecha a conexão
                If connection IsNot Nothing Then
                    connection.Close()
                    Console.WriteLine("Conexão fechada.")
                End If
            End Try
        End Using
    End Sub

End Module

ASP Clássico

Exemplo de código em ASP Clássico de conexão com Oracle usando Oracle Provider for OLE DB:

<%
Dim conn, connectionString

' Cria a string de conexão para Oracle usando Oracle Provider for OLE DB
connectionString = "Provider=OraOLEDB.Oracle;Data Source=BancoDeDados;User Id=Usuario;Password=Senha;OLEDB.NET=True;SPPrmsLOB=False;NDatatype=False;SPPrmsLOB=False;"

Set conn = Server.CreateObject("ADODB.Connection")

' Abre a conexão
On Error Resume Next
conn.Open connectionString

' Verifica se a conexão foi aberta
If conn.State = 1 Then
    Response.Write "Conexão aberta com sucesso!"
    '
    ' INSIRA SEU CÓDIGO AQUI
    '
Else
    If Err.Number <> 0 Then
        Response.Write "Erro: " & Server.HTMLEncode(Err.Description)
    Else
        Response.Write "Erro: A conexão não pode ser estabelecida."
    End If

End If

On Error GoTo 0

' Fecha a conexão
conn.Close
Set conn = Nothing

%>

VBScript

Exemplo de código em VBScript de conexão com Oracle usando Oracle Provider for OLE DB:

Dim conn, connectionString

' Define a string de conexão Oracle usando Oracle Provider for OLE DB
connectionString = "Provider=OraOLEDB.Oracle;Data Source=BancoDeDados;User Id=Usuario;Password=Senha;OLEDB.NET=True;SPPrmsLOB=False;NDatatype=False;SPPrmsLOB=False;"

Set conn = CreateObject("ADODB.Connection")

' Abre a conexão
On Error Resume Next
conn.Open connectionString

' Verifica se a conexão foi aberta
If conn.State = 1 Then
    Wscript.Echo "Conexão aberta com sucesso!"
    '
    ' INSIRA SEU CÓDIGO AQUI
    '
Else
    If Err.Number <> 0 Then
        WScript.Echo "Erro: " & Err.Description
    Else
        WScript.Echo "Erro: A conexão não pode ser estabelecida."
    End If

End If

On Error GoTo 0

' Fecha a conexão
conn.Close
Set conn = Nothing
Wscript.Echo "Conexão fechada."

JScript

Exemplo de código em JScript de conexão com Oracle usando Oracle Provider for OLE DB:

var conn, connectionString;

// Define a string de conexão Oracle usando Oracle Provider for OLE DB
connectionString = "Provider=OraOLEDB.Oracle;Data Source=BancoDeDados;User Id=Usuario;Password=Senha;OLEDB.NET=True;SPPrmsLOB=False;NDatatype=False;SPPrmsLOB=False;";

conn = new ActiveXObject("ADODB.Connection");

// Abre a conexão
try {
    // Abre a conexão
    conn.Open(connectionString);
    if (conn.State === 1) {
        WScript.Echo("Conexão aberta com sucesso!");
        //
        // INSIRA SEU CÓDIGO AQUI
        //
    } else {
        WScript.Echo("Erro: A conexão não pode ser estabelecida.");
    }
} catch (e) {
    // Exibe a mensagem de erro
    WScript.Echo("Erro: " + e.description);
} finally {
    // Fecha a conexão
    conn.Close();
    conn = null;
}

C++

Exemplo de código em C++ de conexão com Oracle usando Oracle Provider for OLE DB:

#include <iostream>
#include <cstdlib>
#include <string>
#include <atldbcli.h>

int main() {
    // Inicializa COM
    HRESULT hr = CoInitialize(NULL);
    if (FAILED(hr)) {
        std::cout << "Falha ao inicializar COM. Erro: " << hr << std::endl;
        return EXIT_FAILURE; // Encerra se a COM não puder ser inicializada
    }

    // Define a string de conexão Oracle usando Oracle Provider for OLE DB
    std::wstring connectionString = L"Provider=OraOLEDB.Oracle;Data Source=BancoDeDados;User Id=Usuario;Password=Senha;OLEDB.NET=True;SPPrmsLOB=False;NDatatype=False;SPPrmsLOB=False;";


    CDataSource dataSource;
    CSession session;
    hr = dataSource.OpenFromInitializationString(connectionString.c_str());
    if (SUCCEEDED(hr)) {
        // Abre uma sessão
        hr = session.Open(dataSource);
        if (SUCCEEDED(hr)) {
            std::cout << "Conexão aberta com sucesso!" << std::endl;

            //
            // INSIRA SEU CÓDIGO AQUI
            //

            // Fecha a sessão e a conexão com o banco de dados
            session.Close();
            dataSource.Close();
        } else {
            std::cout << "Falha ao abrir sessão. Erro: " << hr << std::endl;
        }
    } else {
        std::cout << "Falha ao abrir conexão. Erro: " << hr << std::endl;
    }

    // Finaliza COM
    CoUninitialize();

    return EXIT_SUCCESS;
}