Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Baza danych Oracle TNS Długość wartości klucza „źródło danych” przekracza limit „128”

Nie pokazałeś nam pełnego kodu, którego używasz do łączenia się z bazą danych, ale z komentarza do innej odpowiedzi wynika, że ​​używasz OLE DB. Unikałbym jej używania, zwłaszcza jeśli wydaje się, że ma nieco arbitralny limit 128 znaków dla źródła danych.

Chciałbym również zwrócić uwagę, że można również uniknąć konieczności instalowania klienta Oracle, zgodnie z zaleceniami innego respondenta. Nie mam dużego doświadczenia z klientem „natychmiastowym”, ale pełny klient jest sporym pobraniem i nie jest potrzebny tylko do połączenia programu C# z Oracle.

Zamiast tego możemy skorzystać z biblioteki Oracle Managed Data Access. Możesz zainstalować to za pomocą NuGet. Aby to zrobić:

  • przejdź do Narzędzia> Menedżer pakietów biblioteki> Konsola menedżera pakietów,
  • upewnij się, że właściwy projekt został wybrany z listy rozwijanej „Projekt domyślny”,
  • wejdź

    Install-Package odp.net.managed
    

Powinno to dodać pobieranie biblioteki z NuGet i dodać Oracle.ManagedDataAccess do referencji twojego projektu.

Następnie, jeśli dodasz using dyrektywa dla Oracle.ManagedDataAccess.Client , następujący kod powinien komunikować się z bazą danych 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));
        }
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Warunkowa SUMA na Oracle

  2. Zrzut importu programisty PL/SQL

  3. Oracle.DataAccess nie jest dostępny do wyboru w Visual Studio 2013

  4. jBPM 6.5 + Tomcat 8 + Transakcja Bitronix + konfiguracja Oracle 11G | Nie można zatwierdzić sesji java.lang.NullPointerException

  5. Nieprawidłowe zaktualizowanie zapytania