Я читал о том, как подключиться к моей базе данных oracle из моего приложения на C # win, но я продолжаю «бить стену». Я решил использовать odp.net и OCI, чтобы клиентскому компьютеру не требовалось устанавливать клиента, но я не могу заставить его работать.
У меня есть небольшое тестовое приложение, код, который я показал ниже, и в свое решение я добавил следующие dll из oCI oracle: oci.dll, orannzsbb11.dll и oraociicus11.dll. Все они помещаются вместе с окончательным файлом .exe.
Тестовый код:
private static string CONNECTION_STRING =
"User Id=hr;Password=hr;Data Source=(DESCRIPTION=" +
"(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))" +
"(CONNECT_DATA=(SID=XE)));Connect Timeout=15;";
static void Main(string[] args)
{
try
{
using (var conn = new OracleConnection(CONNECTION_STRING))
{
conn.Open();
Console.WriteLine("Connection is: {0}", conn.State.ToString());
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Проблема возникает уже в операторе using (…), программа просто перестает работать, и я не получаю ответа. Какую магию мне нужно сделать, чтобы заставить работать OCI ???