Você não nos mostrou o código completo que você usa para se conectar a um banco de dados, mas parece de um comentário para outra resposta que você está usando OLE DB. Eu evitaria usá-lo, especialmente se parecesse ter um limite arbitrário de 128 caracteres para uma fonte de dados.
Gostaria também de salientar que você também pode evitar a instalação de um cliente Oracle, conforme recomendado por outro respondente. Não tenho muita experiência com o cliente 'instantâneo', mas o cliente completo é um download pesado e não é necessário apenas para poder conectar um programa C# ao Oracle.
Em vez disso, podemos usar a biblioteca Oracle Managed Data Access. Você pode instalar isso usando o NuGet. Para fazer isso:
- vá para Ferramentas> Gerenciador de Pacotes da Biblioteca> Console do Gerenciador de Pacotes,
- certifique-se de que o projeto correto foi escolhido na lista suspensa "Projeto padrão",
-
digitar
Install-Package odp.net.managed
Isso deve adicionar o download da biblioteca do NuGet e adicionar Oracle.ManagedDataAccess às referências do seu projeto.
Então, se você adicionar um
using
diretiva para Oracle.ManagedDataAccess.Client
, o código a seguir deve se comunicar com um banco de dados 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));
}
}
}