วันนี้เรามาดูการทำงานของ ASP.Net กับ Oracle กันครับ
การติดต่อ Oracle ด้วย ASP.NET นั้นสามาถทำได้ 4 วิธีครับ
- การติดต่อผ่าน OLEDB ซึ่งเป็น Connection ที่มีมาพร้อมกับ Framework ทั้ง 1.0 และ 1.1 ครับ
การใช้งานก็
- Assembly : System.Data.dll
- Namespace : System.Data.Oledb
using System.Data.Oledb;
......
OledbConnection conn = new OledbConnection();
conn.ConnectionString = "Provider=\"OraOLEDB.Oracle.1\"; User ID=scott; Password=tiger; Data Source=orcl;";
conn.Open();
- การติดต่อผ่าน ODBC ซึ่งสามารถดาวน์โหลดได้ ที่นี่
- Assembly : Microsoft.Data.Odbc.dll
- Namespace : System.Data.Odbc
using System.Data.Odbc;
.......
OdbcConnection conn = new OdbcConnection();
conn.ConnectionString = "DSN=odbc_name; UID=scott; PWD=tiger; Driver={Microsoft ODBC for Oracle}; SERVER=10.235.125.18";
conn.Open();
- การติดต่อผ่าน OracleClient เป็น connection ของ Microsoft เพื่อติดต่อ Oracle โดยเฉพาะสามารถดาวน์โหลดได้ ที่นี่
- Assembly : System.Data.OracleClient.dll
- Namespace : System.Data.OracleClient
using System.Data.OracleClient;
.......
OracleConnection conn = new OracleConnection();
conn.ConnectionString = "USER ID=scott; PASSWORD=tiger; DATA SOURCE=orcl;";
conn.Open();
- การติดต่อผ่าน ODP.Net ซึ่งเป็น Data Provider สำหรับ .Net
Framework เพื่อติดต่อกับ Oracle ที่พัฒนาโดยทีมงานของ Oracle เอง
สามารถดาวน์โหลดได้ ที่นี่
- Assembly : Oracle.DataAccess.dll
- Namespace : Oracle.DataAccess.Client
using Oracle.DataAccess.Client;
........
OracleConnection conn = new OracleConnection();
conn.ConnectionString = "USER ID=scott; PASSWORD=tiger; DATA SOURCE=orcl;";
conn.Open();
Wed 5 Apr 2006 09:11:14
มันแสดงออกมาเป็นตัวอ่านไม่ออกน่ะครับ จะต้องทำไง
Tue 12 Sep 2006 12:13:29
OdbcConnection conn = new OdbcConnection();
conn.ConnectionString = "DSN=odbc_name; UID=scott; PWD=tiger; Driver={Microsoft ODBC for Oracle}; SERVER=10.235.125.18";
conn.Open();
Q> DSN มันคืออรัยครับ
Mon 9 Oct 2006 23:09:18
เขียน asp.net แล้วติดตั้งเป็น web server link กับ oracle แล้วอ่านภาษาไทยไม่ได้ไม่ทราบว่าเป็นเพราะอะไรนะครับ และต้อง set ยังงั้ยให้อ่านไทยได้ครับ
Mon 9 Oct 2006 23:11:25
ต่ออีกนะครับว่าผมติดตั้งบน windows 2003 แต่ถ้าลองติดตั้งบน windows 2000 อ่านภาษาไทยได้นะครับ
Wed 11 Oct 2006 21:29:15
ผมทราบวิธีการติดตั้งแล้วครับ ต้องเข้าไป check ที่ web.config ของไฟล์ web นั้น นะครับ ให้เป็นแก้ในไฟล์นี้ก็จะได้เองครับลองดูนะครับ
<globalization requestEncoding="tis-620" responseEncoding="tis-620" culture="th-TH" uiCulture="th-TH"/>
และต้องตรวจสอบ oracle client กับ oracle server เป็นไปได้ก็ตั้ง collation ให้ตรงกันครับ
Sat 4 Nov 2006 14:06:35
Wed 8 Nov 2006 18:18:06
ขอบคุณค่ะสำหรับคำตอบด้านบน มีอีกคำถามที่อยากถามค่ะว่า ถ้าทำเป็น vb.net แล้วเวลาไป set up ที่เครื่อง client โดยใช้เป็น System.Data.OracleClient ที่เครื่อง client ต้องลง ตัว Oracle Client ด้วยใช้มั้ยค่ะ แล้ว ถ้าใช้เป็น ODP ต้องไปลง Oracle Client ที่เครื่อง Client ด้วยรึเปล่าค่ะ
Tue 13 Feb 2007 12:06:33
ผมต้องการติดต่อ oracle กับ C# อะครับ
มี code ตัวอย่างมั้ยครับ ที่สามารถพอจะทดสอบได้อะครับ
ว่าใน c# ของเราสามารถติดต่อได้อะครับ
ส่วนของผมลองใชh odbc ผมอยากรู้ว่า sever ผมต้องใส่ไรไปหรอครับ
Tue 13 Feb 2007 17:35:11
แล้วเวลาผมใช้ชุดคำสั่ง sql
ในตัวอย่างข้อ 3 ผมควรทำยังไงครับช่วยต่อโค้ดหั้ยได้มั้ยครับ
ใช้ oracleclient connect อะครับ
Wed 14 Mar 2007 10:51:08
แล้ว Visual C++.net connect กับ oracle หละค่ะ
วิธีเหมือนกันรึป่าว
Thu 11 Oct 2007 18:24:18
Thu 11 Oct 2007 21:31:27
Fri 12 Oct 2007 13:08:35
ขอบคุณครับ
ผมเขียนเว็บฟอร์ม mobile โดยใช้ VB.NET จะติดต่อกับฐานข้อมูล oracle ไม่รู้ว่าใช้เหมือนกันป่าว และรูปแบบเป็นไงครับ
Fri 12 Oct 2007 13:49:46
Sat 13 Oct 2007 07:11:42
โดยใช้เป็น System.Data.OracleClient ต้องลง ตัว Oracle Client ด้วยไหม server กับ oracle อยู่ในเครื่องเดียวกันครับ
Sat 13 Oct 2007 07:21:55
ผมต้องการ ใช้ vb.netติดต่อกับฐานข้อมูล oracle นะครับ ติดต่อผ่าน OracleClient ไม่ทราบว่าต้องลง OracleClient ด้วยหรือป่าว
Sat 13 Oct 2007 07:22:56
โคดตัวอย่างบ้างป่าวครับ
Sat 13 Oct 2007 11:49:50
การที่ใช้งาน ODP ได้เหมือน Database Object อื่นๆได้เนื่องจาก ODP เป็น Class Library ที่เป็น wrapper ครอบตัว Abstract Database Class อีกทีเหมือนพวก OleDB, ODBC, MySQL.Net ฯลฯ จึงมีการใช้งานเหมือนกันครับ ลองเอาโค๊ดเขามาลองอ่านดูก็ได้ครับ จะได้ศึกษาว่าการเขียน wrapper class เป็นอย่างไร โค๊ดมีเพียงไม่กี่บรรทัดครับ
Sat 13 Oct 2007 14:35:14
ไม่ทราบว่าผมเขียนแบบถูกไหมครับ
Dim strconn As String
Dim sqlproducts As String
strconn = "provider=\; oraoledb.oracle.1\; user Id = system; password = manager; data source = rmutl;"
sqlproducts = "select CustomerID"
sqlproducts &= "from Customers"
Dim conn As New OleDbConnection(strconn)
conn.Open()
Dim com As New OleDbCommand(sqlproducts, conn)
Dim dr As OleDbDataReader= com.ExecuteReader
ObjectList1.DataSource = dr
ObjectList1.DataBind()
dr.close()
conn.Close()
End Sub
Sun 14 Oct 2007 01:42:48
ถ้าจะ port ข้อมูลที่เป็น DataTable, DataSet ก็น่าจะใช้ DataAdapter Object ครับ
ที่ผมว่าน่าจะผิดก็คง query ครับ เพราะเท่าที่ดูข้างหน้า from จะไม่มีช่องว่างครับ โดยปกติผมจะเขียน query เพียงบรรทัดเดียวนอกจากว่ามี sub-query หลายๆอันถึงจะจัดเป็นชุดคำสั่งแยกครับ จะได้ไม่มีปัญหาเรื่อง syntax ของ query
Mon 15 Oct 2007 14:36:05
รบกวนช่วยดูโคดให้หน่อยครับ ผมเขียนจะติดต่อกับฐานข้อมูล Oracle8i แต่ติดต่อยังไม่ได้เลยครับไม่รู้ต้องไป set ตรงไหนหรือป่าวช่วยผมหน่อยนะครับขอบคุณนะครับ
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.OleDb
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim strConn As String
Dim sqlProducts As String
strConn = "provider =msdaora;"&"datasource = rmutl;"&" user ID = system;"&"password = manager;"
sqlProducts = "SELECT ProductID, ProductName, UnitPrice, UnitsInStock"
sqlProducts &= " FROM Products"
Dim Conn As New oledbConnection(strConn)
Conn.Open()
Dim Com As New oledbCommand(sqlProducts, Conn)
Dim dr As oledbDataReader = Com.ExecuteReader
gvProducts.DataSource = dr
gvProducts.DataBind()
dr.Close()
Conn.Close()
End Sub
End Class
Mon 15 Oct 2007 22:46:17
Wed 17 Oct 2007 02:34:07
ขอถามหน่อยครับคือผมลง oracle8i ไป มันไม่แสดงภาษาไทษ ผมต้องไปเซ็ตที่ไหนครับรบกวนหน่อยนะครับ
Wed 17 Oct 2007 04:32:56
มีข้อมูลเดิมที่เป็นไทยอยู่แล้วหรือว่าสร้างฐานข้อมูลขึ้นมาใหม่ครับ ถ้า query เอาข้อมูลเดิมที่เป็นไทยออกมาไม่ได้ ให้ลองตรวจสอบ connection ให้รองรับภาษาไทยด้วยครับ ส่วนถ้าสร้างฐานข้อมูลใหม่ก็ต้องเลือกแบบที่รองรับภาษาไทยด้วยครับ
อ่านข้อมูลเพิ่มได้ที่ http://www.exzilla.net/docs/nls/nlsdatabase.php
Fri 26 Oct 2007 23:15:09
อยากทราบการใช้ภาษา C++ กับ ODBC
การประยุกต์ใช้และการพัฒนาต่อยอกด้วยน่ะค่ะ
รบกวนด้วยน่ะค่ะ ด่วนที่สุด!
ขอบพระคุณอย่างสูง
ส่งมาที่ gerryberry.nid@hotmail.com
ขอบคุณค่ะ
Thu 1 Nov 2007 11:50:31
ไม่ทราบว่า OracleClient สามารถใช้ vbscript เขียนได้หรือไม่ครับ
Thu 1 Nov 2007 16:53:13
Thu 8 Nov 2007 12:06:06
หมายถึงว่า C# เป็นแบบนี้
using System.Data.OracleClient;
.......
OracleConnection conn = new OracleConnection();
conn.ConnectionString = "USER ID=scott; PASSWORD=tiger; DATA SOURCE=orcl;";
conn.Open();
แล้วถ้าเป็น VB จะเป็นแบบไหน ผมใช้ Framework 2.0.5 แต่พอ Search ดู ก็เจอตัว
System.Data.OracleClient.dll นะครับไม่รู้ทำไม Error
ที่ผมลองดูใช้ code แบบนี้
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OracleClient" %>
<%@ Import Namespace="System.Data.OracleClient" %>
@ Import Namespace="System.Data.OracleClient" %><script language="vbscript" runat="server">
script language="vbscript" runat="server">Private Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
End Sub
Private Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)End Sub
End SubPublic Sub SignIn()
Dim strConn As String = "server=(MSATNEWSERVER); Database=MSTEP2; uid=STEP2; User id=STEP2; pwd=msat"
Dim strConn As String = "server=(MSATNEWSERVER); Database=MSTEP2; uid=STEP2; User id=STEP2; pwd=msat"
Dim strConn As String = "server=(MSATNEWSERVER); Database=MSTEP2; uid=STEP2; User id=STEP2; pwd=msat"Dim myConn As New OracleConnection(strConn) <<<--error ไม่เจอ class นี้
Dim strSQL As String = "SELECT * FROM " & TableName & " WHERE USERID = '" & txtUsername.Text & "' AND USERNAM= '" & txtPassword.Text & "' AND USERDPT= '" & "' ORDER BY USEID DESC"
Dim strSQL As String = "SELECT * FROM " & TableName & " WHERE USERID = '" & txtUsername.Text & "' AND USERNAM= '" & txtPassword.Text & "' AND USERDPT= '" & "' ORDER BY USEID DESC"
Dim strSQL As String = "SELECT * FROM " & TableName & " WHERE USERID = '" & txtUsername.Text & "' AND USERNAM= '" & txtPassword.Text & "' AND USERDPT= '" & "' ORDER BY USEID DESC"Dim myData As New OracleDataAdapter(strSQL, myConn) <<<--error ไม่เจอ class นี้
Dim ds As New DataSet()
myData.Fill(ds, "Login")
datagrid1.DataSource = ds.Tables("Login")
datagrid1.DataBind()
Dim ds As New DataSet()
myData.Fill(ds, "Login")
datagrid1.DataSource = ds.Tables("Login")
datagrid1.DataBind()
myData.Fill(ds, "Login")
datagrid1.DataSource = ds.Tables("Login")
datagrid1.DataBind()
datagrid1.DataSource = ds.Tables("Login")
datagrid1.DataBind()
datagrid1.DataBind()
End Sub
</script>
</script>
script><html>
<body>
<asp:DataGrid id = "datagrid1" runat = "server" />
asp:DataGrid id = "datagrid1" runat = "server" /></body>
</html>
Thu 8 Nov 2007 12:08:51
Thu 8 Nov 2007 14:38:05
ส่วนเรื่อง Error นี้ไม่แน่ใจว่าคุณได้...เรียกว่าอะไรล่ะ ไม่ได้ใช้นานลืมแล้ว ต้องทำการ import ตัว oracleclient เข้ามาใน project ของคุณด้วยครับ ขออภัยด้วยครับไม่ได้ใช้นาน

















