У меня есть среда, которая использует Oracle .DataAccess.dll для Oracle 12 c (ODA C 32-битная и версия 4.122.1.0) для подключения к БД Oracle. В этой среде база данных Oracle находится на том же компьютере, что и ODA C (для целей разработки).
Ранее я работал вместе, чтобы мое приложение. NET могло работать и получить доступ к БД. Недавно мне пришлось выключить компьютеры и переустановить все в моей новой среде. Однако, как всегда, ODA C немного упрям.
Я могу подключиться к БД, используя следующее:
var conn = new OracleConnection(connectionString);
try
{
conn.Open();
conn.Close();
return "Yes";
}
catch (Exception ex)
{
return "No, because: " + ex.Message;
}
Однако приложение, над которым я работаю, открывает вместо этого соединение через Entity Framework. Он использует следующее:
public DatabaseContext()
: base(new OracleConnection("Data Source=localhost:1521/dbName;User Id=dbUser;Password=dbPassword;"), true)
{
}
Способ, которым ранее запускалось приложение, работал на моем другом ноутбуке, но эта новая машина, на которой я работаю, выдает следующую ошибку при попытке запустить приложение:
Невозможно определить имя поставщика для подключения типа Oracle .DataAccess.Client.OracleConnection '.
Мой tnsNames.ora для клиента настроен следующим образом:
dbName =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dbName)
)
)
Я прошел несколько установок ODA C и Oracle. На данный момент у меня как будто нет идей. Любая помощь будет приветствоваться.