Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Programming > PHP, PERL, PYTHON, C# > Oracle и C# .NET

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 13.11.2009, 12:52
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Как подключиться к БД Oracle с помощью C# .NET

Как подключиться к БД Oracle с помощью C# .NET



string oradbConnectionString = "Data Source=(DESCRIPTION="
+ "(ADDRESS_LIST="
+ "(ADDRESS="
+ "(PROTOCOL=TCP)"
+ "(HOST=ORASRVR)"
+ "(PORT=1521)"
+ ")"
+ ")"
+ "(CONNECT_DATA="
+ "(SERVER=DEDICATED)"
+ "(SERVICE_NAME=ORCL)"
+ ")"
+ ");"
+ "User Id=scott;Password=tiger;";



или так



string oradbConnectionString = "Data Source=(DESCRIPTION=" +
"(ADDRESS_LIST=" +
"(ADDRESS=" +
"(PROTOCOL=TCP)" +
"(HOST=ORASRVR)" +
"(PORT=1521)" +
")" +
")" +
"(CONNECT_DATA=" +
"(SERVER=DEDICATED)" +
"(SERVICE_NAME=ORCL)" +
")" +
");" +
"User Id=scott;Password=tiger;";

__________________
Чат форума (требуется аккаунт на github или twitter)

Последний раз редактировалось Marley; 26.12.2009 в 22:08.
Ответить с цитированием
  #2  
Старый 06.12.2009, 16:01
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию

1) На компьютере с которого подключаемся к БД, должен быть установлен Oracle Client
2) В Visual Studio должна быть добалена ссылка.






3) Проверяем доступность базы данных командой tnsping <"ip сервера БД">



4) Проверяем, можем ли мы подключиться к БД.







using System;
using System.Data;
using System.Data.OracleClient;


namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{



string oracleDbConnection = "Data Source=(DESCRIPTION="
+ "(ADDRESS_LIST="
+ "(ADDRESS="
+ "(PROTOCOL=TCP)"
+ "(HOST=192.168.1.9)"
+ "(PORT=1521)"
+ ")"
+ ")"
+ "(CONNECT_DATA="
+ "(SERVER=DEDICATED)"
+ "(SERVICE_NAME=ORCL)"
+ ")"
+ ");"
+ "User Id=system;Password=master;";




OracleConnection connnection = new OracleConnection(oracleDbConnection);


try
{
connnection.Open();


Console.WriteLine("OK!");

}



catch (OracleException ex)
{
if (connnection.State != ConnectionState.Open)
{
Console.WriteLine("Failed");

}


Console.WriteLine(ex.Message);

}



finally
{

connnection.Close();
connnection.Dispose();

}



Console.ReadKey();

}

}
}




__________________
Чат форума (требуется аккаунт на github или twitter)

Последний раз редактировалось Marley; 06.12.2009 в 16:16.
Ответить с цитированием
  #3  
Старый 16.12.2009, 16:00
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию

Для подключения к БД Oracle с правами sysdba или sysoper, необходимо установить дополнительные библиотеки odp.net

После установки библиотек, PL/SQL Developer перестал подключаться к базам данных. Помогло копирование всех файлов *.dll из каталога client_1 в каталог client_1\bin



Книги по теме (легко найти в интернете):

Oracle Database 10g Development with Visual Studio 2005 and the Oracle Data Provider for .NET
http://www.exforsys.com/reviews/book...de-review.html

Pro ODP.NET for Oracle Database 11g
http://apress.com/book/view/9781430228202




================================================== ===========


using System;
using System.Data;


//Namespace for ODP.Net classes

using Oracle.DataAccess.Client;

//Namespace for ODP.Net Types

using Oracle.DataAccess.Types;




namespace ConsoleApplication1
{

public class dbConnection

{

public Boolean getDBConnection()
{

try
{

//Connection Information

string oracleDbConnection = "Data Source=(DESCRIPTION="
+ "(ADDRESS_LIST="
+ "(ADDRESS="
+ "(PROTOCOL=TCP)"
+ "(HOST=10.32.11.95)"
+ "(PORT=1521)"
+ ")"
+ ")"
+ "(CONNECT_DATA="
+ "(SERVER=DEDICATED)"
+ "(SERVICE_NAME=test)"
+ ")"
+ ");"
+ "User Id=sys;Password=master;DBA Privilege=SYSDBA;";



//Connection to datasource, using connection parameters given above

OracleConnection conn = new OracleConnection(oracleDbConnection);



//Open database connection

conn.Open();

return true;

}

// Catch exception when error in connecting to database occurs

catch (Exception ex)
{

//Display error message

Console.WriteLine(ex);
return false;

}

}

}




class Program
{
static void Main(string[] args)
{

dbConnection conne = new dbConnection();


if (conne.getDBConnection())
{
Console.WriteLine("OK");

}

else
{

Console.WriteLine("НЕТ");
}


Console.ReadKey();

}

}
}


__________________
Чат форума (требуется аккаунт на github или twitter)

Последний раз редактировалось Marley; 30.07.2010 в 14:16.
Ответить с цитированием
  #4  
Старый 30.09.2015, 19:06
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию

Может кто-нибудь нормально описать как работает Oracle с .NET с использоанием ORM?

Обязательно ли использовать для этого триггеры?
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
Ответ

Метки
c# .net подключение к бд oracle, c# oralce

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 06:58. Часовой пояс GMT +3.


Powered by vBulletin®