Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Database Oracle TNS Panjang nilai untuk 'sumber data' kunci melebihi batas '128'

Anda belum menunjukkan kepada kami kode lengkap yang Anda gunakan untuk menghubungkan ke database, tetapi tampaknya dari komentar ke jawaban lain Anda menggunakan OLE DB. Saya akan menghindari menggunakannya, terutama jika tampaknya memiliki batas 128 karakter yang agak sewenang-wenang untuk sumber data.

Saya juga akan menunjukkan bahwa Anda juga dapat menghindari keharusan menginstal klien Oracle, seperti yang direkomendasikan oleh penjawab lain. Saya tidak memiliki banyak pengalaman dengan klien 'instan', tetapi klien lengkap adalah unduhan yang besar dan kuat dan tidak diperlukan hanya untuk dapat menghubungkan program C# ke Oracle.

Sebagai gantinya, kita dapat menggunakan perpustakaan Oracle Managed Data Access. Anda dapat menginstal ini menggunakan NuGet. Untuk melakukan ini:

  • buka Alat> Pengelola Paket Perpustakaan> Konsol Pengelola Paket,
  • pastikan proyek yang benar dipilih dalam daftar tarik-turun 'Proyek default',
  • masuk

    Install-Package odp.net.managed
    

Ini harus menambahkan unduhan perpustakaan dari NuGet dan menambahkan Oracle.ManagedDataAccess ke Referensi proyek Anda.

Kemudian, jika Anda menambahkan using arahan untuk Oracle.ManagedDataAccess.Client , kode berikut harus berbicara dengan 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));
        }
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-04091 - Bagaimana cara mengubah tabel yang memicu pemicu?

  2. TO_DATE saya sepertinya tidak berfungsi dengan baik

  3. Dapatkan amplop, yaitu rentang waktu yang tumpang tindih

  4. Tidak termasuk Tabel yang Tidak Didukung Untuk Diambil Oleh Oracle Streams

  5. Oracle SQl Dev, cara menghitung jumlah hari kerja antara 2 tanggal