หน้า 1 จากทั้งหมด 1
รบกวนช่วยดูให้หน่อยครับ

โพสต์แล้ว:
จันทร์ ม.ค. 31, 2011 5:14 pm
โดย pigb0y
<?
$dbf = '\\\192.168.1.212\Database\Database\TTDD_TES';
$dsn = "Driver={Microsoft Visual Foxpro Driver};SourceType=DBF;SourceDB=$dbf";
$cn = odbc_connect($dsn,'','') or die("ติดต่อฐานข้อมูลไม่ได้");
$sql = "SELECT * FROM armas";
$rs = odbc_exec($cn,$sql) or die("รัน SQL ไม่ผ่าน");
odbc_result_all($rs);
odbc_close($cn);
?>
แสดงผลได้แต่ทำไมแค่เปลี่ยน table เป็น oeslm กลับมี error ครับ
<?
$dbf = '\\\192.168.1.212\Database\Database\TTDD_TES';
$dsn = "Driver={Microsoft Visual Foxpro Driver};SourceType=DBF;SourceDB=$dbf";
$cn = odbc_connect($dsn,'','') or die("ติดต่อฐานข้อมูลไม่ได้");
$sql = "SELECT * FROM OESLM";
$rs = odbc_exec($cn,$sql) or die("รัน SQL ไม่ผ่าน");
odbc_result_all($rs);
odbc_close($cn);
?>
SQL error: [Microsoft][ODBC Visual FoxPro Driver]Cannot open file \\192.168.1.212\database\database\wgdt_tes\backup\testdb.dbc., SQL state S1000
หรือว่า oeslm ไม่สามารถเปิดจากโปรแกรมอื่นได้
Re: รบกวนช่วยดูให้หน่อยครับ

โพสต์แล้ว:
อังคาร ก.พ. 01, 2011 9:19 am
โดย savek
ตัว SQL ผมไม่ถนัดเลยครับ เลยไม่แน่ใจว่าที่เปิด OESLM ไม่ได้นั้น เกิดจากอะไร
แต่โดยประเภทของไฟล์ ทั้ง ARMAS และ OESLM เป็นไฟล์ฐานข้อมูล (Master File) เหมือนกันครับ
ดังนั้นถ้าบอกว่าเปิด ARMAS ได้ ตัว OESLM ก็น่าจะเปิดได้นะครับ
ผมไม่แน่ใจว่า Error ที่แจ้งขึ้นมาใน SQL มันพอจะมีรายละเอียดที่ชัดเจนกว่านี้ไหมครับ เช่น มี Error Number ที่ระบุสาเหตุที่ทำให้เปิดไฟล์ไม่ได้
Re: รบกวนช่วยดูให้หน่อยครับ

โพสต์แล้ว:
อังคาร ก.พ. 01, 2011 10:17 am
โดย pigb0y
ไม่มีครับมันขึ้น error แค่ที่ copy มาให้ดูจริงๆครับ
และก็อีกอย่างผมลองเปิดแบบ odbc ใน access
เห็น table armas แต่ไม่เห็น table oeslm ครับ
ปล.เปิดใน access 2007
ขอบคุณครับ
Re: รบกวนช่วยดูให้หน่อยครับ

โพสต์แล้ว:
อังคาร ก.พ. 01, 2011 10:30 am
โดย savek
ตอนที่เปิดไฟล์ใน Access ทำตามขั้นตอนในลิ้งค์นี้เลยหรือเปล่าครับ
http://www.esg.co.th/esg/index.php?fi=n ... 72&lang=thและตอนที่ browse ไฟล์ที่ต้องการดูข้อมูล ได้ browse ไปในโฟลเดอร์ที่เก็บข้อมูลของ Express หรือเปล่าครับ
Re: รบกวนช่วยดูให้หน่อยครับ

โพสต์แล้ว:
อังคาร ก.พ. 01, 2011 10:34 am
โดย pigb0y
ใช้ครับทำตามลิงค์นี้เลยครับ
ไม่เห็น table ที่ขึ้นต้นด้วย oe ทั้งหมดเลยครับ
ปล. โฟเดอร์ที่เก็บข้อมูลของ express ชื่อ โฟเดอร์อะไรครับ คือมันใช่ตัวเดียวกันกับโฟเดอร์ที่เป็น database ใช่ไหมครับ
ขอบคุณครับ
Re: รบกวนช่วยดูให้หน่อยครับ

โพสต์แล้ว:
อังคาร ก.พ. 01, 2011 10:55 am
โดย savek
ใช่ครับ เป็นโฟลเดอร์ที่เก็บ Database ของข้อมูลที่เราใช้งานทั้งหมดครับ ปกติจะอยู่ภายใต้โฟลเดอร์ ExpressI (หรือ ExpressA) อีกทีครับ
เช่น C:\Program Files\ExpressI\YourdataFolder
อืม แปลกๆ ที่มองไม่เห็นไฟล์ที่ขึ้นต้นด้วย OE นะครับ ไม่ทราบว่าถ้าเราเข้าจากทาง My Computer และค่อยๆ ไล่เข้าไปตามโฟลเดอร์ที่เก็บข้อมูล Express ของเรา จะเห็นไฟล์ข้อมูลทั้งหมดไหมครับ (ทั้งไฟล์ ARMAS, APMAS, OESLM, STMAS และไฟล์ข้อมูลอื่นๆ ทั้งหมดที่มีนามสกุลไฟล์เป็น .DBF ครับ)
Re: รบกวนช่วยดูให้หน่อยครับ

โพสต์แล้ว:
อังคาร ก.พ. 01, 2011 11:20 am
โดย pigb0y
เห็นครบครับ (ถ้าเข้าไปในโฟรเดอร์)
ARMAS, APMAS, OESLM, STMAS ฯลฯ
แต่ที่ขึ้นด้นด้วย OE ไม่สามารถเปิดดูได้ครับ
Re: รบกวนช่วยดูให้หน่อยครับ

โพสต์แล้ว:
อังคาร ก.พ. 01, 2011 12:04 pm
โดย pigb0y
เพิ่มเติมอีกนิดนึงนะครับ
ผมไปโหลดโปรแกรม DBF Viewer มาลองเปิดดู เปิดดูได้หมดทุกไฟล์ครับ
เลยสงสัยอยู่ table ที่ขั้นต้น ด้วย oe จะเปิดผ่าน odbc ไม่ได้หรือป่าวครับ
เพราะ php กับ access ผมเปิดด้วย odbc ครับ
พอมีแนวทางแก้ไขให้ทำการ query ผ่าน odbc ได้หรือไม่ครับ
ขอบคุณอีกครั้งครับ
หรือว่าจะเกี่ยวกับ Memo ฟิวล์

โพสต์แล้ว:
อังคาร ก.พ. 01, 2011 1:55 pm
โดย pigb0y
หรือว่าจะเกี่ยวกับ Memo ฟิวล์
ยังงงหาไม่เจอเลยครับ ใครรู้รบกวนด้วยนะครับ
Re: รบกวนช่วยดูให้หน่อยครับ

โพสต์แล้ว:
อังคาร ก.พ. 01, 2011 2:16 pm
โดย savek
อย่างที่เรียนให้ทราบไปครับ ผมไม่ชำนาญ SQL จริงๆ เลยไม่แน่ใจว่าปัญหาเกิดจากจุดไหนกันแน่
แต่ยังไง ถ้าคุณ pigb0y สงสัยในเรื่องฟิลด์ข้อมูลที่เป็น Memo ก็น่าจะลองตัดฟิลด์นี้ทิ้งดู และลองเปิดดูอีกที ดีไหมครับ
เกือบจะได้คำตอบแล้ว เย้ๆๆๆ

โพสต์แล้ว:
อังคาร ก.พ. 01, 2011 2:41 pm
โดย pigb0y
คิดว่าน่าจะใช่ครับ ในตารางไหนที่มีฟิวล์ที่เป็น memo access ไม่สามารถเปิดได้ครับ (รวมถึง php ที่ติดต่อผ่าน odbc)
ฟิลด์ข้อมูลที่เป็น Memo มีฟิวล์ไหนบ้างครับ
ใน oeslm , oeso , oesoit
ขอบคุณครับ
Re: รบกวนช่วยดูให้หน่อยครับ

โพสต์แล้ว:
เสาร์ มิ.ย. 18, 2011 9:40 am
โดย wee2tee
ผมขอแสดงความคิดเห็น ดังนี้ครับ
1. เท่าที่ผมทราบทุก ๆ เทเบิลในโฟลเดอร์ที่เก็บข้อมูลของ Express ไม่มีเทเบิลใดมีฟิลด์ชนิด memo อยู่นะครับ (ตรงจุดนี้ผมใช้วิธีเปิดดูโครงสร้างของเทเบิลดูแล้วครับ)
2. จากปัญหาที่คุณ pigb0y พบอยู่ ซึ่งคุณ pigb0y ตั้งข้อสังเกตุว่าเป็นที่ฟิลด์ชนิด memo ผมก็ลองเปลี่ยนโครงสร้างของไฟล์ให้บางฟิลด์มีชนิดเป็น memo แล้วปรากฏว่า "ใช่เลย" ครับ เจอปัญหาอย่างที่คุณ pigb0y เจอเป๊ะเลยครับ
สรุปว่าเป็นเพราะเทเบิลดังกล่าว มีบางฟิลด์ที่เป็นชนิด memo อยู่ แต่นั่นเป็นเพราะคุณ pigb0y ตั้งใจเปลี่ยนโครงสร้างจากเดิมที่เป็น Character หรือ Double หรือ ... หรือมีเพิ่มฟิลด์ใหม่ชนิด memo เข้าไปบ้างหรือเปล่า ซึ่งถ้าใช่ ผมจะได้ลองหาแนวทางแก้ไขปัญหาดังกล่าวต่อไปอีกที แต่ถ้าหากเกิดจากความพลั้งเผลอ ผมรบกวนคุณ pigb0y ช่วย list รายชื่อฟิลด์+ชนิดฟิลด์มาให้ดูทีครับ จะได้เช็คดูอีกทีว่าฟิลด์ใดที่ผิดเพี้ยนไปจากเดิมของ Express ครับ.