|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
新人類
註冊時間: 2005-11-27 文章: 47
第 1 樓
|
發表於: 星期日 八月 04, 2019 11:37 pm 文章主題: DBF轉MYSQL OR MARIDB資料庫 |
|
|
各位前輩好
我都用DBF資料做為開發,因為客戶的檔案太大了,銷貨檔1年就100mb,近期想把資料轉到MYSQL OR MARIDB上面,
請問我該要怎麼做?
我的程式需變動很多嗎? |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期一 八月 05, 2019 9:28 am 文章主題: |
|
|
要改不少
站內搜尋 MYSQL + SPT, 或其中之一 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 451
第 3 樓
|
發表於: 星期四 八月 08, 2019 7:47 am 文章主題: |
|
|
建議:買ms sql 就好,支源度比較好,也不貴,5user (3-5萬ntd),多個users,另外買即可!
另外可先用180天試用版!
效能為dbf 的 百倍以上,更不容易壞,現上不需離線可定期排程,自動備份!
修改為: spt
例原本:APPEND BLANK,改為 SQL 的 INSERT INTO XXXXX
原本的 REPL CUST_NO WITH M.CUST_NO,改為 UPDATE XXXX SET FILEDS=?M.VAR_NAME WHERE KEY_NUM=?YOUR_ONLY_KEY
原本的 DELETE 改為 DELETE XXXX WHERE KEY_NUM=?YOUR_ONLY_KEY
原本的SELECT * FROM ....改成SPT寫法,一樣SELECT * FROM XXX WHERE ... |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期四 八月 08, 2019 4:26 pm 文章主題: |
|
|
大部分情況來說,
免費的 sql express 就夠用了.
以 sql express 2017 來說, 資料庫檔案可以到 10GB (所有TABLE 加在一起,或是想辦法分成不同資料庫)
支援 1.4 GB 執行記憶體,及最高用到單顆4核心CPU
另外可以參考這篇:
https://dotblogs.com.tw/jamesfu/2019/04/10/sqlexpress
[SQL]SQL Server Express 使用注意事項 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
新人類
註冊時間: 2005-11-27 文章: 47
第 5 樓
|
發表於: 星期五 八月 09, 2019 11:50 am 文章主題: |
|
|
CPS0204 寫到: | 建議:買ms sql 就好,支源度比較好,也不貴,5user (3-5萬ntd),多個users,另外買即可!
另外可先用180天試用版!
效能為dbf 的 百倍以上,更不容易壞,現上不需離線可定期排程,自動備份!
修改為: spt
例原本:APPEND BLANK,改為 SQL 的 INSERT INTO XXXXX
原本的 REPL CUST_NO WITH M.CUST_NO,改為 UPDATE XXXX SET FILEDS=?M.VAR_NAME WHERE KEY_NUM=?YOUR_ONLY_KEY
原本的 DELETE 改為 DELETE XXXX WHERE KEY_NUM=?YOUR_ONLY_KEY
原本的SELECT * FROM ....改成SPT寫法,一樣SELECT * FROM XXX WHERE ... |
可否再請教一個問題,支前在DBF上面,我都沒有開主建值,請問在SQL上面要開啟嗎?
我都是利用客戶存檔的時候,才產生單據號碼,那麼在SQL上面怎麼做?
還有單號怎麼控制布重富的問題 |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 451
第 6 樓
|
發表於: 星期五 八月 09, 2019 8:41 pm 文章主題: |
|
|
0.主鍵值壹定需要開!
1.主鍵值只要唯一即可,組成例:登入的帳號(例:001)+登錄次數最後一碼(0到9)+sys(2015)+機台mac號,如沒有機台號,將機台號=SYS(2015)即可
即浪費一點CHAR空間,組成 UNIQ KEY
2.考慮單號不重覆的問題,在網路多人版,只要是dbf 或novell 的file-server型態,就不會100%克服,一定會重覆發生,即使機率很低!
3.步驟: 新增時,先去SQL最後一筆單號流水號+1 (此為假像,一切依實際寫入成功為準)!
按(存檔)鈕寫入時,再SELECT 一次最後單號+1,此時成功率約90%
4. 然後,可將單據號碼,在 sql server 中的資料表格的索引檔中,設為 (唯一的索引健),然後模擬多人同時寫入sql server時,讓SQL server 機制做最後把關, 若後面的人insert into 不成功,SQLEXEC() 回傳值 =-1, 則再重抓一次新單號+1,再寫入一次(一直LOOP直到成功)!,一般多人版,RUN個2-4次都會成功!不會同時有那麼多人寫入相同的單據號碼!(約耗時0.01-0.5秒),人沒啥感覺DELAY!
5.在SQL SERVER 中,如果你沒有主KEY,例:在出貨單身500萬筆中,請問你怎作單一小筆的 UPDATE,或DELETE?
小技巧,將此主KEY設為 ,索引檔的主鍵值(不可空白+不可重覆),在UPDATE及DELETE 會加快很多(類似RUSH MORE)!
所以SQL SERVER 每個TABLE都要一個主鍵值,一定會用到! |
|
回頂端 |
|
|
goodnight
註冊時間: 2008-10-13 文章: 472 來自: 台南市
第 7 樓
|
發表於: 星期六 八月 24, 2019 9:44 am 文章主題: Re: DBF轉MYSQL OR MARIDB資料庫 |
|
|
新人類 寫到: | 各位前輩好
我都用DBF資料做為開發,因為客戶的檔案太大了,銷貨檔1年就100mb,近期想把資料轉到MYSQL OR MARIDB上面,
請問我該要怎麼做?
我的程式需變動很多嗎? |
一年才 100mb 算小吧, 你若為了效率問題, 可以改存在 SSD
10年了不起 1.5G, 10年我看都讓換系統了
趁現在規劃轉到 sql 也是對的
my sql , ms sql 各有優缺點, 不要因為為了省錢, 先了解兩者的差異再決定
大部份語法都是相通的 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 8 樓
|
發表於: 星期一 八月 26, 2019 12:38 am 文章主題: |
|
|
新人類 寫到: |
可否再請教一個問題,支前在DBF上面,我都沒有開主建值,請問在SQL上面要開啟嗎?
我都是利用客戶存檔的時候,才產生單據號碼,那麼在SQL上面怎麼做?
還有單號怎麼控制布重富的問題 |
有些公司的作法
另外用一個欄位當pk ,例如隨便編一個yyyymmddhhmmssss當欄位值,
或是使用"AUTO INCREMENT 自動累加"欄位, ms sql 上稱為自動編號(identity)
通常這個不會重複,
然後你的單據號碼照以前的方法取.
技術上來說,
你以前就應該會發生單號重複的問題,
只是沒遇到或是用其他方式迴避.
我用在公司的方法在dbf時代就100%不會重現重複,
搬到sql上也會是100%不會重現重複.
而這個方法實際上在上個世紀90年代以前那時就已經有人說明及使用了,
不是一個新方法,
當然sql也可以不使用pk,
只是你要自己迴避某些問題 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 9 樓
|
發表於: 星期一 八月 26, 2019 12:52 am 文章主題: |
|
|
CPS0204 寫到: |
5.在SQL SERVER 中,如果你沒有主KEY,例:在出貨單身500萬筆中,請問你怎作單一小筆的 UPDATE,或DELETE?
小技巧,將此主KEY設為 ,索引檔的主鍵值(不可空白+不可重覆),在UPDATE及DELETE 會加快很多(類似RUSH MORE)!
所以SQL SERVER 每個TABLE都要一個主鍵值,一定會用到! |
sql 上都有 timestamp 時間戳記 欄位,
精度看各家系統的設計,
只要精度夠,
在500萬筆中一樣可以找到指定的那筆.
但vfp(odbc)的timestamp 時間戳記 欄位的精度與 sql server的精度不一樣,
所以要小心使用 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|