กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
413 12
URL.หัวข้อ /
URL
เรียน อ.สุภาพ เรื่อง PostgreSQL กับ Access97
ผมติดตั้ง Server เป็น Linux Redhat 9 และเลือกติดตั้ง PostgreSQL ไว้ด้วย แล้วผมใช้ web control เข้าไปสามารถใช้ Postgres สร้าง Database ชื่อ soacc สร้างตารางชื่อ Test มี fieldชื่อ TestID datatype=Text และ Name datatype=Text แล้วผมใช้ Access97 เชื่อมผ่าน ODBC แล้วแจ้ง Error ตามรูปที่ส่งแนบมาด้วย ไม่ทราบจะเกิดจากสาเหตุใด รบกวน อ.ช่วยผมหน่อยนะครับลองหลายครั้งแล้วไม่สามารถทำได้เลย....ขอบคุณล่วงหน้าครับ
12 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R04705
แต่ผมลองใช้ web control จาก client เข้าไปใช้ได้นะครับ ยังสามารถสร้าง Database ได้เลย(หรือว่ามันไม่เกี่ยวกันครับ)
3 @R04706
ได้ทำตามขั้นตอนต่อไปนี้หรือยังครับ
1. ติดตั้ง PostgreSQL ODBC บน Windows
2. แก้ไขไฟล์ odbc.ini ของ PostgreSQL ในเครื่อง Server (Linux)
3. แก้ไขไฟล์ pg_hba.conf ว่าจะให้ IP เครื่องไหนเข้ามาอ่านได้บ้าง
เช่นเครื่อง 10.101.144.44 ให้ connect ได้ ก็ให้ใส่
host all 10.101.144.44 255.255.255.255 trust
1. ติดตั้ง PostgreSQL ODBC บน Windows
2. แก้ไขไฟล์ odbc.ini ของ PostgreSQL ในเครื่อง Server (Linux)
3. แก้ไขไฟล์ pg_hba.conf ว่าจะให้ IP เครื่องไหนเข้ามาอ่านได้บ้าง
เช่นเครื่อง 10.101.144.44 ให้ connect ได้ ก็ให้ใส่
host all 10.101.144.44 255.255.255.255 trust
4 @R04711
ผมได้ทำตามแล้วครับ แต่ยังไม่ได้ และผมก็ได้ทดลองเขียน php เพื่อทดสอบตามคำแนะนำ ใช้ได้ครับ แต่พอลองกำหนดผ่าน ODBC กลับใช้ไม่ได้เหมือนเดิม ไม่ทราบว่าจะต้องทำอย่างไรต่อครับ
5 @R04712
1. ทดสอบเรียกในเครื่อง Red Hat ดูก่อนว่าได้หรือไม่
ถ้าได้ แสดงว่าการติดต่อผ่าน Port 5432 ไม่มีปัญหา
------------------------------------------------------
ไม่ทราบว่าขั้นตอนนี้ทำอย่างไรครับ
ถ้าได้ แสดงว่าการติดต่อผ่าน Port 5432 ไม่มีปัญหา
------------------------------------------------------
ไม่ทราบว่าขั้นตอนนี้ทำอย่างไรครับ
6 @R04714
ลองเอาไฟล์ odbc.ini ที่ /etc/odbc.ini มาดูครับ
จะต้องมีอะไรคล้ายๆ นี้
: ; odbc.ini
: ;
[ODBC Data Sources]
PostgreSQL = PostgreSQL
[PostgreSQL]
Driver = /usr/lib/libpsqlodbc.so
Host = localhost
ServerType = postgres
Port = 5432
ReadOnly = no
TraceFile = /var/log/postgres.odbc.trace
Trace = 1
UserName = postgres
Database = postgres
FetchBufferSize = 99
DebugFile = /var/log/postgres.odbc.debug
[Default]
Driver = /home/openlink/lib/oplodbc.so.1
จะต้องมีอะไรคล้ายๆ นี้
: ; odbc.ini
: ;
[ODBC Data Sources]
PostgreSQL = PostgreSQL
[PostgreSQL]
Driver = /usr/lib/libpsqlodbc.so
Host = localhost
ServerType = postgres
Port = 5432
ReadOnly = no
TraceFile = /var/log/postgres.odbc.trace
Trace = 1
UserName = postgres
Database = postgres
FetchBufferSize = 99
DebugFile = /var/log/postgres.odbc.debug
[Default]
Driver = /home/openlink/lib/oplodbc.so.1
7 @R04721
ผมเข้าไปดูแล้วใน /etc/odbc.ini ไม่มีค่าอะไรเลย ผมเลยใส่ค่าตามที่ อ. ให้มาแล้ว restart service ใหม่ ปรากฏว่ายังเหมือนเดิมครับไม่รู้ว่าผมทำอะไรผิดหรือเปล่า (ผมยังใช้ PostgreSQL V.7.3.2ที่มากับ Redhat 9 ครับ)อยากให้ อ. ช่วยบอกวิธีเป็นขั้นตอนอีกสักครั้ง ให้หน่อยนะครับ เผื่อผมจะลองดูตั้งแต่แรกใหม่เลย ขอขอบคุณนะครับ
8 @R04722
เพิ่มเติมครับ จาก files ที่ผมส่งแนบมาคราวก่อน การกำหนด
Database = soacc
Server = 192.168.0.19
User Name = soacc
Password = 100000
ที่ Database = soacc เพราะผมใช้ Webmin Control เข้าไปในส่วน PostgtreSQL ได้สร้าง Database ชื่อ Soacc และ Server = 192.168.0.19 ผมใช้ ping ทดสอบก็ผ่านครับ และ UserName,Password ผมก็ใช้ Webmin Control เข้าไปในส่วน PostgreSQL Defult username=Postgres แต่ผมเข้าไปเพิ่ม user =soacc และกำหนด Password เป็น 100000 เลยไม่รู้ว่ามีขั้นตอนไหนที่ผมทำผิดไปหรือเปล่า อ.ช่วยผมหน่อยนะครับ
Database = soacc
Server = 192.168.0.19
User Name = soacc
Password = 100000
ที่ Database = soacc เพราะผมใช้ Webmin Control เข้าไปในส่วน PostgtreSQL ได้สร้าง Database ชื่อ Soacc และ Server = 192.168.0.19 ผมใช้ ping ทดสอบก็ผ่านครับ และ UserName,Password ผมก็ใช้ Webmin Control เข้าไปในส่วน PostgreSQL Defult username=Postgres แต่ผมเข้าไปเพิ่ม user =soacc และกำหนด Password เป็น 100000 เลยไม่รู้ว่ามีขั้นตอนไหนที่ผมทำผิดไปหรือเปล่า อ.ช่วยผมหน่อยนะครับ
9 @R04726
เพิ่มเติมครับ จาก files ที่ผมส่งแนบมาคราวก่อน การกำหนด
Database = soacc
Server = 192.168.0.19
User Name = soacc
Password = 100000
ที่ Database = soacc เพราะผมใช้ Webmin Control เข้าไปในส่วน PostgtreSQL ได้สร้าง Database ชื่อ Soacc และ Server = 192.168.0.19 ผมใช้ ping ทดสอบก็ผ่านครับ และ UserName,Password ผมก็ใช้ Webmin Control เข้าไปในส่วน PostgreSQL Defult username=Postgres แต่ผมเข้าไปเพิ่ม user =soacc และกำหนด Password เป็น 100000 เลยไม่รู้ว่ามีขั้นตอนไหนที่ผมทำผิดไปหรือเปล่า อ.ช่วยผมหน่อยนะครับ
Database = soacc
Server = 192.168.0.19
User Name = soacc
Password = 100000
ที่ Database = soacc เพราะผมใช้ Webmin Control เข้าไปในส่วน PostgtreSQL ได้สร้าง Database ชื่อ Soacc และ Server = 192.168.0.19 ผมใช้ ping ทดสอบก็ผ่านครับ และ UserName,Password ผมก็ใช้ Webmin Control เข้าไปในส่วน PostgreSQL Defult username=Postgres แต่ผมเข้าไปเพิ่ม user =soacc และกำหนด Password เป็น 100000 เลยไม่รู้ว่ามีขั้นตอนไหนที่ผมทำผิดไปหรือเปล่า อ.ช่วยผมหน่อยนะครับ
10 @R04728
>>>แต่ผมลองใช้ web control จาก client เข้าไปใช้ได้นะครับ ยังสามารถสร้าง Database ได้เลย(หรือว่ามันไม่เกี่ยวกันครับ)
แสดงว่าได้ลองเขียน php เพื่อติดต่อกับ Postgres ผ่านแล้วใช่มั๊ยครับ
แล้วได้ลองเรียกไฟล์ php ตัวนี้ใน IE ของ WinXP แล้ว ก็ติดต่อได้?
งั้นลองไปเอา PGAdmin2 สำหรับ Windows มาลงดูครับ แล้วลองติดต่อฐานข้อมูลใน Linux ดูว่าติดต่อได้หรือไม่
หรือเอา Postgres 7.2.1 สำหรับ Windows มาลงใน XP แล้วใช้ Access ติดต่อผ่าน ODBC ในเครื่องเดียวกันดูครับ
จะได้รู้ว่าปัญหามันอยู่ตรงไหนกันแน่
แสดงว่าได้ลองเขียน php เพื่อติดต่อกับ Postgres ผ่านแล้วใช่มั๊ยครับ
แล้วได้ลองเรียกไฟล์ php ตัวนี้ใน IE ของ WinXP แล้ว ก็ติดต่อได้?
งั้นลองไปเอา PGAdmin2 สำหรับ Windows มาลงดูครับ แล้วลองติดต่อฐานข้อมูลใน Linux ดูว่าติดต่อได้หรือไม่
หรือเอา Postgres 7.2.1 สำหรับ Windows มาลงใน XP แล้วใช้ Access ติดต่อผ่าน ODBC ในเครื่องเดียวกันดูครับ
จะได้รู้ว่าปัญหามันอยู่ตรงไหนกันแน่
11 @R04730
ขอคุณครับ อ. เดี๋ยวจะลองดูครับ แล้วจะแจ้งผลให้ทราบอีกครั้งครับ
12 @R04760
จากที่ได้ลองทำดูผมสันนิฐาน ว่าอาจเกิดจากตัว Redhat ไม่ยอมเปิด Port 5432 ให้ เพราะลองเช็คดู เครื่องแจ้งว่ามี Port 3306 เปิดอยู่เป็นของ MySQL และผมก็ลองใช้ MyODBC Link เข้าไป ใช้ได้ครับก็ไม่รู้ว่าจะเปิด Port 5432 ได้อย่างไร อ. ช่วยให้แนะนำหน่อยนะครับ ....ขอบคุณครับ
Time: 0.1195s
1. ทดสอบเรียกในเครื่อง Red Hat ดูก่อนว่าได้หรือไม่
ถ้าได้ แสดงว่าการติดต่อผ่าน Port 5432 ไม่มีปัญหา
ถ้าไม่ได้ก็ต้องเข้าไป Set ไฟล์ pg_hba.conf และ
2. จากข้อความที่ให้ดู สงสัยว่าเครื่อง 2 เครื่องยังมองไม่เห็นกันครับ
ลองอ่านกระทู้ http://www.thai-access.com/suphap.php?topic_id=1986 ประกอบด้วยครับ