เชื่อมต่อข้อมูลกับระบบบัญชี Express สามารถทำได้ไหม ( Database File .DBF )
DBF ของ express น่าจะเป็น old format
ว่าจะบอกให้เปลี่ยน driver ใหม่ แต่ไม่แสดง error connection แสดงว่า connect ผ่าน
https://www.connectionstrings.com/visual-foxpro/
ผมไม่มี Express ในมือ ถ้าสะดวกลองส่งไฟล์ DBF ที่สร้างจาก Express มาเป็นกรณีศึกษาก็ดีครับ
Date :
2022-03-24 11:45:16
By :
009
https://www.somacon.com/p251.php
เห็นในนี้ใช้ PDO DSN odbc กับ dbf visual fox pro ได้ ไม่เคยลอง ไม่มี express
ทดลองดูว่าได้ไหมนะครับ
Date :
2022-03-30 15:15:15
By :
mr.v
เชื่อมต่อ PHP กับไฟล์ .DFB ได้แล้วแต่ติดปัญหาตรงที่อ่านได้แค่ไฟลล์ในเครื่องตัวเอง
เปลี่ยนเป็นอ่านข้อมูลจากการ Map Drive หรืออ่านข้ามเครื่อง จะขึ้น ERROR ดังรูป
เหมือนว่าเชื่อมต่อ Database ได้ แต่อ่านข้อมูลไม่ได้ ไม่รู้จะแก้ยังไงแล้ว ลองมาหลายวิธีก็ยังทำไม่ได้ t_t
รบกวนขอคำแนะนำหน่อยนะคะ
Date :
2022-04-04 15:22:26
By :
Pep_Fare
เครื่องที่อ่านได้ติดตั้ง driver/runtime หรือยัง
ตอน connect ใช้ connection string หรือ DSN ถ้าอย่างหลังได้สร้าง DSN เพื่อชี้ไปยัง Network Drive หรือไม่
อีกวิธี encrypt data ผ่าน webservice
Date :
2022-04-04 18:02:20
By :
009
ถ้ามันอ่านไฟล์เดียวกัน
ในเครื่องได้
ผ่าน network ไม่ได้
ทำไมไม่ map network มาเป็นส่วนหนึ่งที่ web server เข้าถึงได้ แล้วก็ใช้ PHP ดาวน์โหลดมันลงมาก่อน แล้วค่อยเปิดอ่าน
Date :
2022-04-05 11:51:41
By :
mr.v
จุดประสงค์การติดตั้ง runtime เพื่อให้มันลง driver ให้ ถ้าลง driver แล้วก็ไม่ต้องลง runtime อีกครับ
(runtime คือ driver+interface สามารถจัดการฐานข้อมูลได้โดยไม่ต้องลง client application ในที่นี้ คือ Visual FoxPro)
ส่วนการ connect ผ่าน Network Drive จริงๆ ไม่เคยลอง แต่เคยอ่านเจอว่าสำหรับ ODBC Driver ถ้า folder ที่ map ไม่มี permission แบบ writable เครื่องปลายทางจะ connect หรือติดต่อกับ ไฟล์ที่อยู่ใน map drive ไม่ได้
webservice ก็พวก Restful API นั่นแหละครับ แต่ควร expose เฉพาะส่วนของข้อมูลที่ต้องการ
(แน่นอนว่าควร encrypt ก่อน แม้จะมี access token ก็ตาม)
หรือทำตามคุณวี คือ โหลดข้อมูลมายังเครื่องที่จะใช้อ่านทั้งไฟล์เลยแล้วจะได้การ connect ด้วย DSN แบบ local
ลองดูครับ
Date :
2022-04-05 12:43:51
By :
009
ถ้าต้องบันทึกข้อมูลด้วย ก็ใช้หลักการคล้ายของเดิม
อาจจะติดตั้ง web server ทางเครื่องที่เก็บไฟล์ด้วยเลย แล้วให้มันทำหน้าที่แค่
ตรวจ api key -> ถ้าถูกก็รอรับคำสั่ง,
สั่งดาวน์โหลด -> ก็ส่งไฟล์ที่จะเอาไปแก้ให้ปลายทางที่เรียก ใช้หลักการส่ง download content อย่างพวก readfile() (ลองหา php force download),
สั่งอัพโหลด คือแก้มาเสร็จแล้ว -> ก็รับไฟล์มาวางทับของเก่า ใช้หลักการ upload ธรรมดา
วิธีนี้จะป้องกันการเรียกสุ่มจากภายนอกได้ เพราะต้องตรวจ api key เสมอ. ให้เฉพาะมาจากปลายทางที่เราอนุญาต.
Date :
2022-04-05 14:35:05
By :
mr.v
ใช้อยู่
Connect RealTime ระบบบัญชี Express
Web Server->Request APIs ไปยัง Server Express
1. ติดตั้ง
Microsoft Visual C++ 2015-2019 Redistributable
Microsoft OLE DB Provider for Visual Foxpro 8 และ 9
ที่ Server Express
2. Download "ADOdb"
https://adodb.org/dokuwiki/doku.php?id=index
3. สร้าง REST SERVER
QUERY
Code (PHP)
require_once(FCPATH.'ADOdb-5.21.2/adodb.inc.php');
public function stmasTable($path_db = 'D:\EXPRESS\FolderName') {
$conn = ADONewConnection('ado')or die("Unable to connect DB");
$dsn = "Provider=vfpoledb;Data Source=".realpath($path_db)."";
$conn->Connect($dsn);
$conn->setFetchMode(ADODB_FETCH_ASSOC);
$query_select = "T1.`stkcod`,
T1.`stkdes`,
T1.`stkdes2`,
T1.`stktyp`,
T1.`stkgrp`,
T2.`typdes`,
T1.`stkcods`,
T1.`acccod`,
T1.`barcod`,
T1.`stkclass`,
T1.`negallow`,
DTOC(T1.`lasupd`) AS `lasupd`,
T1.`packing`,
T1.`qucod`,
T1.`cqucod`,
T3.`typdes` AS `unit`,
T1.`cfactor`,
T1.`totbal`,
T1.`pqucod`,
T1.`mlotnum`,
T1.`remark`,
T1.`dat1`,
T1.`dat2`,
T1.`num1`,
T1.`str1`,
T1.`str2`,
T1.`str3`,
T1.`str4`,
T1.`lsellqu`,
T1.`lsellfac`,
T1.`lsellpr`,
DTOC(T1.`lseldat`) AS `lseldat`,
T1.`creby`,
DTOC(T1.`credat`) AS `credat`,
T1.`userid`,
DTOC(T1.chgdat) AS `chgdat`";
$result = $conn->Execute("SELECT
{$query_select}
FROM
`stmas` T1
LEFT JOIN
`istab` T2 ON T1.`stkgrp` = T2.`typcod` AND T2.`tabtyp` = '22'
LEFT JOIN
`istab` T3 ON T1.`cqucod` = T3.`typcod` AND T3.`tabtyp` = '20'
WHERE
T1.`stktyp` = '0'
AND
T1.`totbal` > 0
ORDER BY
T1.`stkcod` ASC");
return $result;
}
Date :
2024-10-22 10:34:31
By :
Guest
Load balance : Server 05