Menu

Sunday, December 23, 2012

[C#] วิธีการเชื่อมต่อ ORACLE โดยใช้ C# .Net4.0
[C#] How to Connect to ORACLE with C# .Net4.0

หลังจากทำการสร้างโปรเจคใหม่ใน Visual C# 2010
After creating new project in Visual C# 2010

ไปที่ Project บนเมนู แล้วเลือก Properties...
Go to Project on menu bar then select Properties...




เปลี่ยน Target framework จาก .Net Framework 4 Client Profile เป็น .Net Framework 4 จะปรากฎหน้าต่างไดอะล็อกตามด้านล่าง
Change Target framework from .Net Framework 4 Client Profile to .Net Framework 4 then the dialog will be shown as below 


กดปุ่ม Yes แล้วหน้าต่างโค้ดทั้งหมดจะถูกปิดดังภาพด้านล่าง
Press Yes then all coding windows will be closed as below



ไปที่ Solution Explorer คลิ๊กขวาที่ References แล้วเลือก Add Reference...
Go to Solution Explorer then right click at References and select Add Reference...



ไปที่แท็บ .NET แล้วหา Component Name ชื่อ System.Data.OracleClient
Go to .Net tab then find Component Name named System.Data.OracleClient



กดปุ่ม OK แล้ว System.Data.OracleClient จะไปปรากฏอยู่ในแฟ้ม References ของโปรเจค
Press OK then System.Data.OracleClient will be shown in References folder of project



ดับเบิ้ลคลิ๊กที่ไฟล์ Program.cs แล้วใส่โค้ดดังนี้
Double click at Program.cs then insert code as below
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Data.OracleClient;
  6. using System.Data;

  7. namespace test
  8. {
  9.     class Program
  10.     {       
  11.         static void Main(string[] args)
  12.         {
  13.             OracleConnection myConnection = null;
  14.             OracleCommand myCommand = null;
  15.             OracleDataReader myReader = null;

  16.             string username="your username";
  17.             string password="your password";
  18.             string database="your database";
  19.             string host="your host";
  20.             string port="your port";

  21.             myConnection = new OracleConnection("Data Source=(DESCRIPTION="+ 
  22.                                             "(ADDRESS=(PROTOCOL=TCP)" +
  23.                                             "(HOST=" + host + ")(PORT=" + port + "))" +
  24.                                             "(CONNECT_DATA=(SERVICE_NAME=" + database + ")));" +
  25.                                             "User Id=" + username +
  26.                                             ";Password=" + password +
  27.                                             ";Persist Security Info=false;");
  28.             myConnection.Open();
  29.             myCommand = new OracleCommand("your sql", myConnection);
  30.             myReader = myCommand.ExecuteReader();
  31.             myCommand.Dispose();
  32.             DataTable dt = new DataTable();
  33.             dt.Load(myReader);
  34.             myReader.Close();
  35.             myConnection.Close();      
  36.         }
  37.     }
  38. }


กดปุ่ม F5 บนคีย์บอร์ด เพื่อคอมไพล์และรัน ซึ่งจะขึ้นหน้าต่างแสดงข้อผิดพลาดว่า
Press F5 on keyboard for compiling and running which the error dialog will be shown as
ORA-6413: Connection not open.

สำหรับข้อผิดพลาดดังกล่าวสามารถแก้ไขได้ดังนี้
To solve this error, follow the steps below

ดาวน์โหลด Instant Client ของ Oracle จาก http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
Download Instant Client of Oracle from http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html



เลือก Instant Client ตามระบบปฏิบัติการที่ใช้อยู่ ในที่นี้เลือก Instant Client Downloads for Microsoft Windows (x64)
Select Instant Client by the operation system is used, in this case, I select Instant Client Downloads for Microsoft Windows (x64)



เลือก Accept License Agreement และเลือกดาวน์โหลด  instantclient-basiclite-windows.x64-11.2.0.3.0.zip
Select Accept License Agreement and select  instantclient-basiclite-windows.x64-11.2.0.3.0.zip



ทำการ Sign up ในกรณีที่ไม่มี Oracle account อยู่ แล้วทำการ Sign in เพื่อเริ่มดาวน์โหลด
Sign up for new account in case of no Oracle account then sign in to start downloading

เมื่อดาวน์โหลดเสร็จสิ้น ให้ไปยังแฟ้มที่เก็บไฟล์ที่ดาวน์โหลดมา
After downloading complete, go to Download folder that stores downloaded files



ทำการแตกไฟล์ instantclient-basiclite-windows.x64-11.2.0.3.0.zip ดังภาพ
Extract instantclient-basiclite-windows.x64-11.2.0.3.0.zip 


เข้าไปในแฟ้ม instantclient_11_2 แล้วทำการคัดลอกไฟล์ oci.dll, oraocci11.dll, oraociicus11.dll และ orannzsbb11.dll 
Go to instantclient_11_2 then copy oci.dll, oraocci11.dll, oraociicus11.dll and orannzsbb11.dll 


นำไฟล์ที่คัดลอกไปไว้ยังแฟ้ม Debug ของโปรเจค
Paste copied files in Debug folder of project



กลับไปที่โปรเจค แล้วกดปุ่ม F5 บนคีย์บอร์ด เพื่อคอมไพล์และรัน คราวนี้จะสามารถรันได้ตามปกติ
Go back to project again then press F5 on keyboard to compile and run which the program will run normally without error

No comments:

Post a Comment