กระทู้เก่าบอร์ด อ.Yeadram
3,778 7
URL.หัวข้อ /
URL
ดึงข้อมูลจาก Access ลงฐานข้อมูล Oracle
คือผมต้องการดึงข้อมูลจากหน้า ฟอร์ม หรือ จากตาราง ลงฐานข้อมูล oracle เลยได้หรือเปล่าครับ
ปัจจุบันคือ ใช้วิธีการ Export เป็น Excel แล้วค่อย Upload ข้อมูลไปที่ตารางในฐานข้อมูลของ Oracle ที่ทำการสร้างไว้ พอจะมีคำสั่งหรือวิธีการ connect หรือเปล่าครับ
ขอบคุณครับ
ปัจจุบันคือ ใช้วิธีการ Export เป็น Excel แล้วค่อย Upload ข้อมูลไปที่ตารางในฐานข้อมูลของ Oracle ที่ทำการสร้างไว้ พอจะมีคำสั่งหรือวิธีการ connect หรือเปล่าครับ
ขอบคุณครับ
7 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R01428
http://www.orafaq.com/wiki/ODBC_FAQ
2 @R01429
ขอบคุณ อ.สันติสุข ครับ ที่ให้ข้อมูลครับ แต่ผมต้องไปศึกษาอีกยาวเลย
paitoon
paitoon
3 @R01430
วิธีการมันมีหลายวิธีมาก ขึ้นกับการออกแบบขั้นตอนของคุณว่าจะนำข้อมูลเข้า Oracle อย่างไร
- คุณอาจสร้าง Linked Table เพื่อสร้างให้เทเบิลของ oracle แสดงเป็นเทเบิลหนึ่งในฐานข้อมูล Access แล้วก็เรียกใช้เหมือนเทเบิลของ Access เอง แล้วอาจสร้าง Append Query ใน Access เพื่อนำข้อมูลเข้า Oracle เลย
ลองดูที่เขามีเขียนอธิบายไว้แล้วในนี้
www.reo.gov/gis/tools/infobase/LinkAccessToOracle.pdf
http://www.emunix.emich.edu/~khailany/files/linking_access_to_oracle.htm
- หรือคุณอาจจะเขียนโปรแกรมเพื่อนำข้อมูลเข้า Oracle อย่างตัวอย่างข้างล่างนี้เป็นการใช้ ADO และใช้ OLE DB Provider ที่ Microsoft จัดทำให้โดยตรง (ไม่ใช่ OLE DB Provider ที่มาจาก Oracle) เพื่อติดต่อไปยัง Oracle โดยเปิดเทเบิล Employee แล้วเขียนเรคอร์ดใหม่เข้าไปครับ
Dim cnn1 As New ADODB.Connection
Dim rstEmployees As New ADODB.Recordset
Dim StrCnn As String
' Open a connection.
strCnn = "Provider=MSDAORA;Data Source=ชื่อฐานข้อมูล;User ID=ชื่อผู้ใช้; Password=รหัสผ่าน;"
cnn1.Open strCnn
' Open recordset with data from Employees table.
rstEmployees.Open "employee", cnn1, , , adCmdTable
rstEmployees.AddNew
rstEmployees!emp_id = "0001"
rstEmployees!lname = "Mr. A"
rstEmployees.Update
rstEmployees.Close
cnn1.close : Set cnn1 = Nothing
หรือที่นี่ Access: Connect to Oracle using VBA code in Access 2003/XP/2000/97
คุณอาจใช้ Connection String (StrCnn แบบอื่นๆ) ได้อีกดังนั้น (หาเท่าที่หาได้ ก็ไม่แน่ใจว่าถูกผิดอย่างไรหรือไม่ ต้องลองทดสอบดูนะครับ)
- ใช้ OLE DB Provider ที่มาจาก Oracle (Oracle Provider for OLE DB)
Provider=OraOLEDB.Oracle;Data Source=ชื่อฐานข้อมูล;User Id=ชื่อผู้ใช้;Password=รหัสผ่าน
- ใช้ ODBC แบบไม่อ้าง DSN (Data Source Name)
Driver={Microsoft ODBC for Oracle};Server=ชื่อฐานข้อมูล;Uid=ชื่อผู้ใช้;Pwd=รหัสผ่าน
- ใช้ ODBC แบบอ้าง DSN
ODBC;DSN=ฃื่อ DSN;SERVER=ชื่อฐานข้อมูล;UID=ชื่อผู้ใช้;PWD=รหัสผ่าน
- ใช้ ODBC แบบอ้างชื่อไฟล์ของ DSN
ODBC;FILEDSN=c:\path\...\path\ชื่อไฟล์.dsn;SERVER=ชื่อฐานข้อมูล;UID=ชื่อผู้ใช้;PWD=รหัสผ่าน
หวังว่าพอจะช่วยให้เกิดไอเดียได้บ้างครับ
- คุณอาจสร้าง Linked Table เพื่อสร้างให้เทเบิลของ oracle แสดงเป็นเทเบิลหนึ่งในฐานข้อมูล Access แล้วก็เรียกใช้เหมือนเทเบิลของ Access เอง แล้วอาจสร้าง Append Query ใน Access เพื่อนำข้อมูลเข้า Oracle เลย
ลองดูที่เขามีเขียนอธิบายไว้แล้วในนี้
www.reo.gov/gis/tools/infobase/LinkAccessToOracle.pdf
http://www.emunix.emich.edu/~khailany/files/linking_access_to_oracle.htm
- หรือคุณอาจจะเขียนโปรแกรมเพื่อนำข้อมูลเข้า Oracle อย่างตัวอย่างข้างล่างนี้เป็นการใช้ ADO และใช้ OLE DB Provider ที่ Microsoft จัดทำให้โดยตรง (ไม่ใช่ OLE DB Provider ที่มาจาก Oracle) เพื่อติดต่อไปยัง Oracle โดยเปิดเทเบิล Employee แล้วเขียนเรคอร์ดใหม่เข้าไปครับ
Dim cnn1 As New ADODB.Connection
Dim rstEmployees As New ADODB.Recordset
Dim StrCnn As String
' Open a connection.
strCnn = "Provider=MSDAORA;Data Source=ชื่อฐานข้อมูล;User ID=ชื่อผู้ใช้; Password=รหัสผ่าน;"
cnn1.Open strCnn
' Open recordset with data from Employees table.
rstEmployees.Open "employee", cnn1, , , adCmdTable
rstEmployees.AddNew
rstEmployees!emp_id = "0001"
rstEmployees!lname = "Mr. A"
rstEmployees.Update
rstEmployees.Close
cnn1.close : Set cnn1 = Nothing
หรือที่นี่ Access: Connect to Oracle using VBA code in Access 2003/XP/2000/97
คุณอาจใช้ Connection String (StrCnn แบบอื่นๆ) ได้อีกดังนั้น (หาเท่าที่หาได้ ก็ไม่แน่ใจว่าถูกผิดอย่างไรหรือไม่ ต้องลองทดสอบดูนะครับ)
- ใช้ OLE DB Provider ที่มาจาก Oracle (Oracle Provider for OLE DB)
Provider=OraOLEDB.Oracle;Data Source=ชื่อฐานข้อมูล;User Id=ชื่อผู้ใช้;Password=รหัสผ่าน
- ใช้ ODBC แบบไม่อ้าง DSN (Data Source Name)
Driver={Microsoft ODBC for Oracle};Server=ชื่อฐานข้อมูล;Uid=ชื่อผู้ใช้;Pwd=รหัสผ่าน
- ใช้ ODBC แบบอ้าง DSN
ODBC;DSN=ฃื่อ DSN;SERVER=ชื่อฐานข้อมูล;UID=ชื่อผู้ใช้;PWD=รหัสผ่าน
- ใช้ ODBC แบบอ้างชื่อไฟล์ของ DSN
ODBC;FILEDSN=c:\path\...\path\ชื่อไฟล์.dsn;SERVER=ชื่อฐานข้อมูล;UID=ชื่อผู้ใช้;PWD=รหัสผ่าน
หวังว่าพอจะช่วยให้เกิดไอเดียได้บ้างครับ
4 @R01431
ขอบคุณท่าน อ. สันติสุข มากเลยครับ ที่ให้ข้อมูลเพิ่มอีก เดียวผมขอลองก่อนครับ ขอบคุณมากเลยมาก ๆ เลยครับ
5 @R01435
ผมว่า ... เรียกชื่อผมเฉยๆ ดีกว่าครับ เพราะ
ผมไม่ได้เป็น อ.สอนที่ไหน และ ผมก็ไม่ได้เป็นผู้เฒ่าในหนังจีนกำลังภายในนะครับ ไม่ต้องมี "ท่าน" หรอกครับ อ่านแล้วแปลกๆตัวเอง
ผมไม่ได้เป็น อ.สอนที่ไหน และ ผมก็ไม่ได้เป็นผู้เฒ่าในหนังจีนกำลังภายในนะครับ ไม่ต้องมี "ท่าน" หรอกครับ อ่านแล้วแปลกๆตัวเอง
6 @R01436
ok ครับ แต่ผมก็ต้องให้เกียรติ ที่ให้ความรู้คำแนะนำครับ เดียวครั้งต่อไปจะเรียกชื่อก็แล้วกันครับ
paitoon
paitoon
7 @R09009
การ appen table query ทำได้ครั้งละกี่ table ค่ะ เพราะว่าต้องรวม table 97 เป็นหนึ่งนะค่ะ
Time: 0.2520s