using System using System Collections Generic using System

  • Slides: 21
Download presentation

using System; using System. Collections. Generic; using System. Text; using System. Data. Sql. Client;

using System; using System. Collections. Generic; using System. Text; using System. Data. Sql. Client; namespace ADO_NET_EXAMPLE 1 { // устанавливаем соединение с SQL Server // и выполняем команду на создание базы в присоединенном режиме class Create. DB_Command { static void Main(string[] args) { Console. Write("Введите имя сервера(host): "); string serv. Name = Console. Read. Line(); Console. Write("Введите имя экземпляра SQL сервера: "); string sql. Serv. Name=Console. Read. Line();

// создаем объект Connection Sql. Connection conn = new Sql. Connection(); conn. Connection. String

// создаем объект Connection Sql. Connection conn = new Sql. Connection(); conn. Connection. String = "Data Source=" + serv. Name + "\" +sql. Serv. Name + “; ” + // параметр указывает, что используется встроенная Windows авторизация " Integrated Security=SSPI; " + // имя базы, но т. к. она только создается, то тут пусто " Initial Catalog=; "; // открываем соединение с SQL сервером conn. Open(); // создаем объект Command Sql. Command cmd = new Sql. Command(); // записываем в него строку содержащую SQL команду cmd. Command. Text = "CREATE DATABASE [stud] ON PRIMARY" + "( NAME = N'stud', FILENAME = N'C: \TMP\stud. mdf' , " + " SIZE = 10240 KB , FILEGROWTH = 1024 KB )" + " LOG ON( NAME = N'stud_log', FILENAME = N'C: \TMP\stud_log. ldf' , " + " SIZE = 103424 KB , FILEGROWTH = 10%)"; // указываем какое соединение будет использоваться cmd. Connection = conn;

// выполняем комманду, cmd. Execute. Non. Query(); // Non. Query так как создание БД

// выполняем комманду, cmd. Execute. Non. Query(); // Non. Query так как создание БД conn. Close(); // выполним reconnect conn. Connection. String = "Data Source=" + serv. Name + "\" +sql. Serv. Name + “; ” + // параметр указывает, что используется встроенная Windows авторизация " Integrated Security=SSPI; " + // имя созданной БД stud " Initial Catalog=stud; "; // открываем соединение conn. Open(); // создадим таблицу Persona cmd. Command. Text = "CREATE TABLE Persona (" + "ID_Persona int NOT NULL, " + “FIO nchar(20) NULL, " + “Birthday datetime NULL )"; cmd. Execute. Non. Query(); // установим первичный ключ cmd. Command. Text = "ALTER TABLE Persona " + "ADD PRIMARY KEY (ID_Persona ASC)"; cmd. Execute. Non. Query(); // закрываем соединение, выводим статус conn. Close(); Console. Write. Line("Connection state: {0}", conn. State); }}}

using System; using System. Data. Sql. Client; namespace ADONET_EXAMPLE_2 { class Program { static

using System; using System. Data. Sql. Client; namespace ADONET_EXAMPLE_2 { class Program { static void Main(string[] args) { // 1. Создаем объект Data. Set ds = new Data. Set(); // 2. Создаем объект Sql. Connection conn = new Sql. Connection(); conn. Connection. String = "Data Source=IBM-T 42\SQL; “ + "Integrated Security=SSPI; Initial Catalog=Stud; "; // 3. Создаем объект Sql. Command cmd = new Sql. Command();

// И заполняем в объекте Sql. Command // свойства, определяющие строку подключения (Connection) //

// И заполняем в объекте Sql. Command // свойства, определяющие строку подключения (Connection) // и выполняемую SQL комманду (Command. Text) cmd. Connection=conn; cmd. Command. Text = "SELECT * FROM PERSON"; // 4. Создаем объект Sql. Data. Adapter da = new Sql. Data. Adapter(); // Связываем его с уже сформированным объектом Command da. Select. Command = cmd; // 5. Заполняем Data. Set da. Fill(ds); // выводим полученный результат на консоль ds. Tables. Count. To. String(); ds. Tables[0]. Rows[0]. To. String(); ds. Tables[0]. Columns[0]. To. String(); for(int i=0; i < ds. Tables[0]. Rows. Count; i++) { for(int j=0; j< ds. Tables[0]. Rows[i]. Item. Array. Length; j++) Console. Write(ds. Tables[0]. Rows[i]. Item. Array[j]. To. String()+' '); Console. Write. Line(); } } }}

Технологии соединения с Oracle • Прямой Поставщик – Oracle Data Provider for. NET /

Технологии соединения с Oracle • Прямой Поставщик – Oracle Data Provider for. NET / ODP. NET (Oracle. Connection) Oracle Provider for OLE DB • Опосредованный поставщик Framework. NET Framework Data Provider for Oracle (Oracle. Connection). NET Framework Data Provider for OLE DB (Ole. Db. Connection). NET Framework Data Provider for ODBC (Odbc. Connection) • Универсальный поставщик Windows Microsoft OLE DB Provider for Oracle Microsoft ODBC Driver for Oracle Microsoft ODBC for Oracle

Примеры connection string С использованием Oracle TNS listener Data Source=TORCL; User Id=my. Username; Password=my.

Примеры connection string С использованием Oracle TNS listener Data Source=TORCL; User Id=my. Username; Password=my. Password; С использованием политики интегрированной безопасности Data Source=TORCL; Integrated Security=SSPI; С использованием явного tnsnames. ora Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOS T=My. Host)(PORT=My. Port)))(CONNECT_DATA=(SERVER=DEDICATED)(SERV ICE_NAME=My. Oracle. SID))); User Id=my. Username; Password=my. Password; С использованием простого поименованного метода Data Source=username/password@//myserver: 1521/my. service. com; С использованием явного указания Instance Data Source=username/password@myserver//instancename;

using System; using System. Data. Oracle. Client; class Program { static void Main() {

using System; using System. Data. Oracle. Client; class Program { static void Main() { string connection. String =@"Data Source=k 806 new; User Id=mar; Password=mar; "; string query. String = "SELECT ID_PERSONA, FIO FROM PERSONA"; using (Oracle. Connection connection = new Oracle. Connection(connection. String)) { Oracle. Command command = connection. Create. Command(); command. Command. Text = query. String;

try { connection. Open(); Oracle. Data. Reader reader = command. Execute. Reader(); while (reader.

try { connection. Open(); Oracle. Data. Reader reader = command. Execute. Reader(); while (reader. Read()) { Console. Write. Line("t{0}t{1}", reader[0], reader[1]); } reader. Close(); } catch (Exception ex) { Console. Write. Line(ex. Message); } }

Основные классы • • • Data. Set Data. Table Data. Row Data. Relation Data.

Основные классы • • • Data. Set Data. Table Data. Row Data. Relation Data. View Data. Adapter

Oracle Data Access using System; using Oracle. Data. Access. Client; using System. Data. Common;

Oracle Data Access using System; using Oracle. Data. Access. Client; using System. Data. Common; using System. Transactions; class psf. Enlist. Transaction { static void Main() { int ret. Val = 0; string provider. Name = "Oracle. Data. Access. Client"; string constr = @"User Id=mar; Password=mar; Data Source=k 806 new; ”; //enlist=dynamic";

// Get the provider factory. Db. Provider. Factory factory = Db. Provider. Factories. Get.

// Get the provider factory. Db. Provider. Factory factory = Db. Provider. Factories. Get. Factory(provider. Name); try { // Create a committable transaction object. Committable. Transaction cmt. Tx = new Committable. Transaction(); // Open a connection to the DB. Db. Connection conn 1 = factory. Create. Connection(); conn 1. Connection. String = constr; conn 1. Open(); // enlist the connection with the commitable transaction. conn 1. Enlist. Transaction(cmt. Tx);

// Create a command to execute the sql statement. Db. Command cmd 1 =

// Create a command to execute the sql statement. Db. Command cmd 1 = factory. Create. Command(); cmd 1. Connection = conn 1; cmd 1. Command. Text = @"insert into PERSONA (Id_persona, fio, birthday) values (10, ‘New Persona', ‘ 10 -JUN-2010')"; // Execute the SQL statement to insert one row in DB. ret. Val = cmd 1. Execute. Non. Query(); Console. Write. Line("Rows to be affected by cmd 1: {0}", ret. Val); // commit/rollback the transaction. cmt. Tx. Commit(); // commits the txn. //cmt. Tx. Rollback(); // rolls back the txn. // close and dispose the connection conn 1. Close(); conn 1. Dispose(); cmd 1. Dispose();

} catch (Exception ex) { Console. Write. Line(ex. Message); Console. Write. Line(ex. Stack. Trace);

} catch (Exception ex) { Console. Write. Line(ex. Message); Console. Write. Line(ex. Stack. Trace); } } }