Oracle data provider for net что это

Обновлено: 05.07.2024

Installation instructions are included within the zip file.

Download

Release Notes

[Released April 27, 2016]

Download

Release Notes

ODAC 12c Release 4 (12.1.0.2.4)

[Released October 5, 2015]

Download

Release Notes

Installation instructions are included within the zip file.

Download the ODAC NuGet packages

Download

Release Notes

Download the ODAC XCopy version

Download

Release Notes

Download Includes

ODAC 12c Release 3 (12.1.0.2.1)

[Released December 23, 2014]

Download

Release Notes

Installation instructions are included within the zip file.

Download

Release Notes

Download the ODAC XCopy version

Download

Release Notes

Download Includes

ODAC 12c Release 2 (12.1.0.1.2)

[Released December 20, 2013]

Download

Release Notes

Installation instructions are included within the zip file.

Download the ODAC XCopy version

Download

Release Notes

Installation instructions are included within the zip file.

Download Includes

ODAC 12c Release 1 (12.1.0.1.0)

[Released August 13, 2013]

Download

Release Notes

Installation instructions are included within the zip file.

Download the ODAC XCopy version

Download

Release Notes

Installation instructions are included within the zip file.

Download Includes

ODAC 11.2 Release 6 (11.2.0.4.0)

Download the XCopy version

[Released January 14, 2014]

Download

Release Notes

Installation instructions are included within the zip file.

Your search did not match any results.

  • Check the spelling of your keyword search.
  • Use synonyms for the keyword you typed, for example, try “application” instead of “software.”
  • Try one of the popular searches shown below.
  • Start a new search.

Trending Questions

64-bit Oracle Data Access Components (ODAC) Downloads

Important: The 32-bit Oracle Developer Tools for Visual Studio download is required for Entity Framework design-time features. The downloads that support Entity Framework deployment below do not contain design-time tools, only run-time support.

64-bit ODAC 12.2c Release 1 (12.2.0.1.0) Xcopy for Windows x64

[Released May 31, 2017]

Download

Release Notes

Installation Instructions are included within the zip file.

Download Includes

64-bit ODAC 12.2c Release 1 (12.2.0.1.1) for Windows x64

[Released August 3, 2018]

Download

Release Notes

Download Includes

64-bit ODAC 12c Release 4 (12.1.0.2.4) Xcopy for Windows x64

[Released October 5, 2015]

Download

Release Notes

Installation Instructions are included within the zip file.

Download Includes

64-bit ODAC 12c Release 4 (12.1.0.2.4) for Windows x64

[Released October 5, 2015]

Download

Release Notes

Download Includes

64-bit ODAC 12c Release 3 (12.1.0.2.1) Xcopy for Windows x64

[Released December 23, 2014]

Download

Release Notes

Installation Instructions are included within the zip file.

Download Includes

64-bit ODAC 12c Release 3 (12.1.0.2.1) for Windows x64

[Released December 23, 2014]

Download

Release Notes

Download Includes

64-bit ODAC 12c Release 2 (12.1.0.1.2) Xcopy for Windows x64

[Released December 20, 2013]

Download

Release Notes

Installation Instructions are included within the zip file.

Download Includes

64-bit ODAC 12c Release 2 (12.1.0.1.2) for Windows x64

[Released December 20, 2013]

Download

Release Notes

Download Includes

64-bit ODAC 12c Release 1 (12.1.0.1.0) Xcopy for Windows x64

[Released August 13, 2013]

Download

Release Notes

Installation Instructions are included within the zip file.

Download Includes

64-bit ODAC 12c Release 1 (12.1.0.1.0) for Windows x64

[Released August 13, 2013]

Download

Release Notes

Download Includes

64-bit ODAC 11.2 Release 6 (11.2.0.4.0) Xcopy for Windows x64

[Released January 14, 2014]

Download

Release Notes

Installation Instructions are included within the zip file.

Доброго времени суток.

При разработке программного обеспечения всегда руководствовался простым правилом, чем меньше в развивающемся проекте используется сторонних компонентов, платформ, технологий, тем лучше. Почти все гениальное — просто. К сожалению, у разработчика не всегда есть возможность свободного выбора средств и систем, с которыми он работает. Вот и мне достался проект Windows Forms + ODAC + Oracle DB Server.

С большой радостью узнал о выходе Oracle Data Access Components (ODAC) for Microsoft Entity Framework and LINQ to Entities (Beta2). Очень ждал этого момента и вот свершилось! Можно не использовать сторонние ORM — все под ключ.

Как научить приложение использовать Entity Framework через установленный на конечных машинах клиент ODAC — описано в пошаговой инструкции от Oracle. Кому интересно, как избавиться от необходимости установки клиента Oracle на машинах пользователей, прошу под кат.

Общие требования

К системе пользователя:

135 МБ свободного дискового пространства

К системе разработчика:

  1. Visual Studio 2010 Service Pack 1
  2. Oracle Database server 9.2 или выше
  3. ODAC for Microsoft Entity Framework and LINQ to Entities
Подключаемые библиотеки

1.4 MB)) подключить как Reference и присвоить свойству “Copy local” значение “true”.

Следующие файлы необходимо просто добавить к проекту и присвоить свойству “Copy to Output Directory” значение “Copy if newer”:

1 MB)
«путь к клиенту»client_1orannzsbb11.dll (

1.2 MB)
«путь к клиенту»client_1inOraOps11w.dll (

0.3 MB)
«путь к клиенту»client_1oraociei11.dll (

Строка подключения должна иметь такой же вид как в файле «tnsnames.ora»:

Этого достаточно для обеспечения доступа к БД без установки клиента на машине пользователя:

private bool TestConnect()
<
try
<
var oracleConnection = new OracleConnection
<
ConnectionString =
"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User >
>;
oracleConnection.Open();
var oracleCommand = new OracleCommand
<
CommandText = "select sysdate from dual" ,
Connection = oracleConnection,
Transaction = null
>;
var oracleDataAdapter = new OracleDataAdapter ;
var sysDateDataSet = new DataSet( "SomeName" );
oracleDataAdapter.Fill(sysDateDataSet, "dateTimeTable" );
return sysDateDataSet.Tables[0].Rows.Count > 0;
>
catch (Exception exx)
<
MessageBox.Show( string .Format( "Could not connect directly to an Oracle database:
<0>" , exx.Message));
return false ;
>
* This source code was highlighted with Source Code Highlighter .

Что необходимо сделать для использования Entity Framework Model без установки клиента Oracle

В файл конфигурации проекта (App.Config/Web.Config) будет автоматически (если вы выберете данный соответствующий пункт в мастере) добавлена строка подключения к БД Oracle:

add name ="HREntities" connectionString ="metadata=res://*/HRModel.csdl|res://*/HRModel.ssdl|res://*/HRModel.msl;prov providerName ="System.Data.EntityClient" />

Тут стоит обратить особое внимание на то, что значение, присвоенное атрибуту «provider connection string» обязательно должно быть в двойных кавычках (для их обозначения необходимо использовать код &_q_u_o_t). Это также стоит учесть при динамическом формировании строки подключения.

Тонкости

string prov >"Oracle.DataAccess.Client" ;
string dataSourse = (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User > var sqlBuilder =
new SqlConnectionStringBuilder
<
DataSource = dataSourse
>;
string prov > var entityBuilder =
new EntityConnectionStringBuilder
<
Prov > Prov > Metadata =
@"res://*/HRModel.csdl|res://*/HRModel.ssdl|res://*/HRModel.msl"
>;
using ( var conn =
new EntityConnection(entityBuilder.ToString()))
<
conn.Open();
Console .WriteLine( "Just testing the connection." );
conn.Close();
>

* This source code was highlighted with Source Code Highlighter .

private bool DynamicConnect()
<
const string prov >"Oracle.DataAccess.Client" ;
const string serverName = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User >;
const string metadata = "metadata=res://*/HRModel.csdl|res://*/HRModel.ssdl|res://*/HRModel.msl" ;
var entBild = string .Format( "metadata=<0>;prov , metadata, providerName, serverName);
try
<
var conn = new EntityConnection(entBild);
conn.Open();
var hrEntities = new HREntities(conn);
var tmpResult = hrEntities.BRIDGE.Count();
conn.Close();
return true ;
>
catch (Exception exx)
<
MessageBox.Show( string .Format( "Could not connect directly to an Oracle database:
<0>" , exx.Message));
return false ;
>
>

* This source code was highlighted with Source Code Highlighter .

Быть может это отголоски бета версии – посмотрим как будет в релизе, который, как обещает Oracle, состоится в четвертом квартале 2011 года.

Конкретные имена этих основных классов различаются у различных поставщиков (например, SqlConnection, OracleConnection, OdbcConnection и MySqlConnection), но все эти объекты порождены от одного и того же базового класса (в случае объектов подключения это DbConnection), который реализует идентичные интерфейсы (вроде IDbConnection). Поэтому если вы научитесь работать с одним поставщиком данных, то легко справитесь и с остальными.

В ADO.NET термин "объект подключения" на самом деле относится к конкретному типу, порожденному от DbConnection; объекта подключения "вообще" нет. То же можно сказать и об "объекте команды", "объекте адаптера данных" и т.д. По соглашению имена объектов в конкретном поставщике данных имеют префиксы соответствующей СУБД (например, SqlConnection, OracleConnection, SqlDataReader и т.д.).

SQL Server

Предоставляет оптимизированный доступ к базам данных SQL Server (версии 7.0 и выше).

OLE DB

Предоставляет доступ к любому источнику данных, который имеет драйвер OLE DB. Это включает базы данных SQL Server версий, предшествующих 7.0.

Oracle

Предоставляет оптимизированный доступ к базам данных Oracle (версии 8i и выше).

ODBC

Предоставляет доступ к любому источнику данных, имеющему драйвер ODBC.

Архитектура ADO.NET

"За кулисами" различные поставщики используют совершенно разные низкоуровневые вызовы и API-интерфейсы. Например, поставщик данных SQL Server применяет патентованный протокол для взаимодействия с сервером. Преимущества этой модели не сразу очевидны, но весьма существенны:

Поскольку каждый поставщик использует одни и те же интерфейсы и базовые классы, можно писать обобщенный код доступа к данным (с приложением небольших дополнительных усилий), работая с интерфейсами, а не классами поставщиков.

Поскольку каждый поставщик реализован отдельно, он может использовать соответствующую оптимизацию (это отличается от модели ADO, где каждый вызов базы данных должен проходить через общий уровень, прежде чем достигнет лежащего в основе драйвера базы данных). Кроме того, специализированные поставщики могут добавлять нестандартные средства, которых не имеют другие поставщики (например, возможность SQL Sever выполнять XML-запросы).

Независимо от того, какой поставщик данных применяется, можно извлекать данные и помещать их в полностью автономный DataSet одинаковым образом. Это облегчает отделение кода, извлекающего данные, от кода, обрабатывающего их. В случае смены лежащей в основе базы данных придется изменить только код, извлекающий данные, но если используется DataSet, а информация имеет одну и ту же структуру, модифицировать способ ее обработки не понадобится.

System.Data

Содержит ключевые классы контейнеров данных, которые моделируют столбцы, отношения, таблицы, наборы данных, строки, представления и ограничения. Дополнительно содержит ключевые интерфейсы, которые реализованы объектами данных, основанными на соединениях

System.Data.OleDb

Содержит классы, используемые для подключения к поставщику OLE DB, включая OleDbCommand, OleDbConnection и OleDbDataAdapter. Эти классы поддерживают большинство поставщиков OLE DB, но не те, что требуют интерфейсов OLE DB версии 2.5

System.Data.SqlClient

Содержит классы, используемые для подключения к базе данных Microsoft SQL Server, в том числе SqlDbCommand, SqlDbConnection и SqlDbDataAdapter. Эти классы оптимизированы для использования интерфейса TDS к SQL Server

System.Data.OracleClient

Содержит классы, необходимые для подключения к базе данных Oracle (версии 8.1.7 и выше), в том числе OracleCommand, OracleConnection и OracleDataAdapter. Эти классы используют оптимизированный интерфейс OCI (Oracle Call Interface — Интерфейс вызовов Oracle)

System.Data.Odbc

Содержит классы, необходимые для подключения к большинству драйверов ODBC, такие как OdbcCommand, OdbcConnection, OdbcDataReader и OdbcDataAdapter. Драйверы ODBC поставляются для всех видов источников данных и конфигурируются через значок Data Sources (Источники данных) панели управления

System.Data.SqlTypes

Я получаю следующую ошибку, когда пытаюсь передать результат из процедуры хранения в набор данных. Класс OracleHelper похож на SqlHelper, просто он ссылается на Oracle. Я использую управляемый драй.

Я использую простой LINQ в своем EF 4.3.1: Dim Results = ( From T1 In Context.Table1 Where T1.IDColumn = 1568 Join T2 In Context.Table2 On T1.IDColumn Equals T2.IDColumn Select New With < .Quantity.

У меня есть эта часть кода thta выполняет PL/SQL: using (PedidoEntities db = new PedidoEntities()) < OracleParameter p_existe = new OracleParameter("p_existe", OracleDbType.Int32); p_existe.Directi.

Вступление: В настоящее время я работаю над приложением MVC 4, использующим dll Microsoft OracleClient. Теперь я планирую перейти на Oracle ManagedDatAccess.dll. Шаги, которые я взял по информации.

Так как библиотека System.Data.OracleClient была устарела , мы находимся в процессе миграции нашей базы кода, чтобы вместо этого использовать

В настоящее время я работаю над приложением MVC, которое использует Entity Framework для взаимодействия с Oracle Database. Создавая edmx, добавляя и обновляя таблицы, все эти действия выполняются б.

мой вопрос: Я пытаюсь использовать Oracle.DataAccess.Client Provider с NHibernate (Fluent), и я настроил его следующим образом: Fluently.Configure().Database(OracleClientConfiguration.Oracle10.Prov.

Я ищу новые функции управления драйвером oracle, поскольку, как я вижу, многие вещи не поддерживаются для пользовательских типов в oracle (OracleArrayMappingAttribute IOracleArrayTypeFactory и т.д.

При разработке приложения, использующего ODP.NET в DAL, очень раздражает, всегда устанавливая свойство Size OracleParameter . Например: getSPTimeCommand.Parameters.Add("pStartTime", OracleDbType.Va.

Добрый день. Я создаю некоторый репозиторий для объектов и пытаюсь обновить один и тот же объект. Я использовал "ExecuteStoreCommand" и следующий метод public void UpdatePatienAccount(long modelId.

При запуске приложения базы данных возникает следующее исключение: "Инициализатор типа для" Oracle.DataAccess.Client.OracleConnection "сделал исключение". ConfigurationErrorsException: непризнанная.

Администратор базы данных в моей компании создал нового пользователя/пароль для приложения, над которым я работаю. Я протестировал вход в систему с помощью SQL Developer и могу просто подключиться .

Я хочу, чтобы мое приложение работало на целевых компьютерах, где клиент Oracle мог быть 10 или 11. Возможно ли это сделать с ODP? Если в моем приложении я ссылаюсь на Oracle.DataAccess.dll с моей .

Почему Oracle ODP не распознает параметр Unicode = true и Devart Provider делает? Когда у меня есть данные, содержащие строку: "ñãõ, éóúý", мое приложение asp.net показывает ". " если я испол.

Рубрики

А так же делитесь знаниями, знакомьтесь с новыми утилитами и приложениями, учитесь у всегда готовых помочь ответить на самые сложные вопросы во всех сферах IT и программирования. Станьте гуру и экспертом разработки ПО, получите признание коллег, заработайте репутацию, создайте стартап или приложение которое будет работать на вас!

Я не знаю волшебных ключевых слов, чтобы заставить Google ответить на этот вопрос за меня, так что простите меня, если это широко доступное знание. При написании запроса в коде результирующая строка будет либо трудночитаемой (этот пример довольно прост, но, надеюсь, вы уловили суть): var sqlString =.

Я понимаю, что пулы подключений создаются из строки подключения. Я запускаю два разных приложения, использующих Oracle.ManagedDataAccess и оба с одной и той же строкой подключения. Получу ли я 1 пул для каждого приложения или 1 общий для обоих.

Я хотел бы иметь возможность генерировать DDL для объектов определенного типа. Следующий запрос вернет DDL для всех таблиц в схеме MYSCHEMA. SELECT O.OWNER, O.OBJECT_TYPE, O.OBJECT_NAME, DBMS_METADATA.GET_DDL(OBJECT_TYPE, O.OBJECT_NAME, O.OWNER) As DDL FROM ALL_OBJECTS O .

Я использую Linq для запроса контекста EF6, представляющего базу данных Oracle. Я пытаюсь выбрать строки из таблицы на основе поля TIMESTAMP, в котором дата и время хранятся с точностью до долей секунды. Это самый стандартный запрос, который вы можете написать, но он не работает. data = await dbCo.

В моем приложении я использую класс репозитория, у которого есть свойство public Oracle.ManagedDataAccess.Client.OracleConnection DbConn. В другом классе, где я использую этот репозиторий, есть конкретный вариант использования, когда мне нужно использовать OracleBulkCopy для быстрого импорта данных.

Следующий код выдает: ORA-01017: неверное имя пользователя / пароль; вход в систему запрещен string constr = "User Source=server:1521/service"; OracleConnection con = new OracleConnection(constr); con.Open(); SQL Developer, DBeaver подключается без проблем. FIPS отк.

Когда я пытаюсь просмотреть свой проект через IIS, я получаю следующую ошибку: «Провайдер несовместим с версией клиента Oracle» Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибк.

Я пытаюсь передать параметр хранимой процедуре с помощью пакета Oracle.EntityFrameworkCore следующим образом: DataTable table = new DataTable(); table.Columns.Add("keyColumn", typeof(string)); table.Columns.Add("valueColumn", typeof(string)); var row = table.NewRow(); row.ItemArray = new object[] <.

Проблема: Обычно по какой-то причине оператор обновления ожидает бесконечно ( ExecuteNonQueryAsync () ). Insert работает нормально, я попытался жестко запрограммировать простой оператор обновления с жестко заданными параметрами (без merge ), то же самое story, даже попытался удалить предложение.

Читайте также: