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));
}
}
}