Non ci hai mostrato il codice completo che usi per la connessione a un database, ma da un commento a un'altra risposta sembra che tu stia utilizzando OLE DB. Eviterei di usarlo, soprattutto se sembra avere un limite alquanto arbitrario di 128 caratteri per un'origine dati.
Segnalo inoltre che puoi anche evitare di dover installare un client Oracle, come consigliato da un altro risponditore. Non ho molta esperienza con il client "istantaneo", ma il client completo è un download pesante e non è necessario solo per poter connettere un programma C# a Oracle.
Invece, possiamo utilizzare la libreria Oracle Managed Data Access. Puoi installarlo usando NuGet. Per fare questo:
- vai su Strumenti> Libreria Package Manager> Package Manager Console,
- assicurati che il progetto corretto sia scelto nell'elenco a discesa "Progetto predefinito",
-
entra
Install-Package odp.net.managed
Questo dovrebbe aggiungere il download della libreria da NuGet e aggiungere Oracle.ManagedDataAccess ai riferimenti del tuo progetto.
Quindi, se aggiungi un using
direttiva per Oracle.ManagedDataAccess.Client
, il codice seguente dovrebbe comunicare con un database Oracle:
string connStr = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<service_name>)));User Id=<user>;Password=<password>";
Console.WriteLine("Connection string has length " + connStr.Length);
using (var connection = new OracleConnection() { ConnectionString = connStr })
{
connection.Open();
OracleCommand command = new OracleCommand("SELECT * FROM DUAL", connection);
using (OracleDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader.GetString(0));
}
}
}