C # / Oracle: Connect - PullRequest
       41

C # / Oracle: Connect

1 голос
/ 01 июля 2011

Я пытался выяснить, как соединить программу ac # с оракулом 10 г дБ.во всех примерах кода, которые я нашел, всегда использовался либо ado.net oracleclient .net-framework (что устарело -> не хорошо), либо system.data.ado, который, очевидно, использует источник данных (odbc) -> не разрешено использоватьили инструменты oracle для разработчиков odt (например, odbc?), которые поддерживают olny visual Studio 2005 для 10g и только 11g для vs 2010 ... есть ли способ подключения, как это возможно с delphi (devart, odac), который iveраньше, мне сказали изучить возможности соединения c # и oracle?

Ответы [ 5 ]

3 голосов
/ 01 июля 2011

Я думаю, что лучшим способом было бы использовать ODP.NET для выполнения ваших действий с базой данных Oracle.

Это также может быть интересно читать для вас

1 голос
/ 01 июля 2011

На connectionstrings.com / oracle вы можете найти несколько примеров строки подключения для нескольких провайдеров.

Я бы порекомендовал что-то вроде ODP.NET или OracleClient, который использует собственный интерфейс длябаза данных.

Классы данных очень похожи между различными базами данных, поэтому вы можете просто взять пример, который использует SqlClient классы ( пример ) и подставить OracleClient классы, и изменитьСтрока подключения.

1 голос
/ 01 июля 2011

Самый простой способ - использовать System.Data.OleDb, который должен работать нормально для любой версии Visual Studio и .Net Framework - если только вам не нужно выполнять какие-либо специфичные для Oracle запросы, которые не поддерживаются в OleDb.1003 * Большой бонус в том, что вам не придется иметь дело с развертыванием какого-либо специального стороннего драйвера базы данных.

0 голосов
/ 12 июня 2012

Потребовалось много времени, чтобы осознать свою ошибку, я пытался перенести приложение dotnet с X86 на X64 с зависимостями доступа к данным oracle.

Проблема соединения оракула только что прошла, переход от OracleConnection к OleDbConnection хорошо работает. Спасибо!.

0 голосов
/ 01 июля 2011

См. Следующий код;)

using System;
using System.Data;
using System.Data.OleDb;

class OleDbConnectionOracle
{
  public static void Main()
  {
    string connectionString = "provider=MSDAORA;data source=ORCL;user id=SCOTT;password=TIGER";
    OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);

    OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();

    myOleDbCommand.CommandText = "SELECT empno, ename, sal FROM emp WHERE empno = 7369";

    myOleDbConnection.Open();

    OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();

    myOleDbDataReader.Read();

    myOleDbDataReader.Close();
    myOleDbConnection.Close();
  }
}
...