|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
cdy
註冊時間: 2008-12-30 文章: 26
第 1 樓
|
發表於: 星期四 五月 15, 2014 4:44 pm 文章主題: 已開發出exe自動更新,不需依賴ftp |
|
|
一般的專案軟體exe檔,寫好後,都是放在ftp讓user自動或手動下載 EXE,然後更新版本
可是有時FTP SERVER的主動/被動模式很難搞定!
我已開發出不用FTP,也不用區域網路SAMBA 方享模式,就可直接更新EXE!
在廣域外網也可! 透過SQL SERVER即可!
寫AP的人,應該很多人想要這個功能吧![/b] |
|
回頂端 |
|
|
cdy
註冊時間: 2008-12-30 文章: 26
第 2 樓
|
發表於: 星期四 五月 15, 2014 4:47 pm 文章主題: |
|
|
方法就是透過 VFOXPRO (6.0-9.0)都可,+ SQL SERVER (2005,2008,或更高)都可!
不用買第三方,不用安裝FLL,純DBF技巧! |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2158
第 3 樓
|
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 4 樓
|
發表於: 星期四 五月 15, 2014 9:35 pm 文章主題: |
|
|
我本來也有一堆自動更新方法
但弄來弄去,最後,返樸歸真
回到最原點,把程式掛在網站上
讓使用者自已來下載 |
|
回頂端 |
|
|
cdy
註冊時間: 2008-12-30 文章: 26
第 5 樓
|
發表於: 星期四 五月 15, 2014 9:44 pm 文章主題: |
|
|
但...SQL Server可對外連結, 這安全嗎?
**************
可從外部縣市(或國外)可透過固定ip連進公司內部的erp的sql存取
當然有硬體防火牆檔在前,sql帳號密碼設長一點,例:15碼密碼以上,然後1433port
改成例: 21433 port........可有效杜絕外部攻擊! |
|
回頂端 |
|
|
cdy
註冊時間: 2008-12-30 文章: 26
第 6 樓
|
發表於: 星期四 五月 15, 2014 9:52 pm 文章主題: |
|
|
我的作法分為兩部份: (版本序號比對,不討論,請自行設計)
1.先將newexe.exe 寫入到dbf,然後使用spt 寫到後台sql的某DB的TEXT中!,順便寫入EXE的BYTE數到某欄A
2.在遠端的客戶端(廠內/廠外都可),可連到此SQL權限. 然後SELECT 下來到本地CURSOR 中,然後轉出到 MYNEW.EXE的磁碟檔中(即還原原來的EXE),再比對EXE長度與記錄那欄A數值,是否一樣,有一樣才成功!
3. 此處我的重點在於 DBF 欄位屬性使用 (二進位的附註型態)!
4.此上完全不使用FTP SERVER,就可將上述1,2點寫程PRG,達到自動更新! |
|
回頂端 |
|
|
violetlkk
註冊時間: 2003-06-21 文章: 84 來自: kaohsiung
第 7 樓
|
發表於: 星期五 五月 16, 2014 3:04 am 文章主題: |
|
|
你是說這樣 filetostr() -> sql -> strtofile() ?? |
|
回頂端 |
|
|
cdy
註冊時間: 2008-12-30 文章: 26
第 8 樓
|
發表於: 星期五 五月 16, 2014 7:43 am 文章主題: |
|
|
你是說這樣 filetostr() -> sql -> strtofile() ??
*********************
讀本地磁碟的exe檔寫入sql 可用 filetostr (sql 後台=text欄位)
但從select 回到vfox的cursor 後,再用strtofile(),長度被限制在 16mb (fox的cursor欄位為 2進位的memo)
所以還原exe失敗不能跑,殘念!
|
|
回頂端 |
|
|
cdy
註冊時間: 2008-12-30 文章: 26
第 9 樓
|
發表於: 星期五 五月 16, 2014 7:49 am 文章主題: |
|
|
改良如下:
1.先建本地臨時表單cursor,(有一memo欄,一定要用2進位附註欄),
append blank
append memo your_memo from 'my_exe.exe'
var1=your_memo
use in 暫存檔!
然後spt 寫入sql 中
[insert my_db1 (memo1) values (?var1)] 發送spt
2.取回exe,在寫到當地磁碟
[select * from my_db1] 發送spt
取到foxpro cursor 後
copy memo your_memo to new2.exe
use in 暫存檔
這樣長度就可以與原來一樣,不會受限16mb 的exe
3.不知到為何有16mb的限制?????,一般erp.exe 20-40mb大小很正常! |
|
回頂端 |
|
|
cdy
註冊時間: 2008-12-30 文章: 26
第 10 樓
|
發表於: 星期五 五月 16, 2014 7:53 am 文章主題: |
|
|
上述說到:
應將 [insert my_db1 (memo1) values (?var1)] 發送spt
如果sql中已有筆數
改為 update xxxxxxxxxxxxxxxxxxxxxx
才不會有多筆! |
|
回頂端 |
|
|
cdy
註冊時間: 2008-12-30 文章: 26
第 11 樓
|
發表於: 星期五 五月 16, 2014 8:04 am 文章主題: |
|
|
依上面技巧,可將任何檔案塞入sql中,只要不怕sql太大,或速度太慢
各式檔案都可塞入,JPG,GIF,BMP,PDF,EXE (ACAD檔),XLS,DOC,
音樂檔,MP3,MP4....等
甚至 SQLBAK.BAK 這種備份檔也可塞入!剛試過800MB 也可塞入SQL
在適當的時後,可用VFOXPRO SELECT出來,然後存到本地磁碟,再做變化
例: 照片檔,聲因檔,加密檔,手工簽名檔......等
------------
有人會問:為何不用存 (目錄字元就好),
例: 工號:00001 照片為='\\SERVER1\PICTURE\0000.JPG' (存入字元)
這樣在外部網域時就不方便,或要用VPN 才能看到LOCAL LAN 的目錄!
如小照片等,改塞入SQL中,在國外也可看的到!
缺點:檔案大SQL速度慢,必需寫一個類進度條,提醒USER說沒有當機,只是下載中
|
|
回頂端 |
|
|
h02022
註冊時間: 2012-11-28 文章: 35
第 12 樓
|
發表於: 星期二 五月 27, 2014 5:47 pm 文章主題: |
|
|
請問我為什麼寫入sql只能寫50M左右檔案大小呢?
60M 以上就不行了
請問這何解呢?? |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 13 樓
|
發表於: 星期三 五月 28, 2014 10:20 am 文章主題: |
|
|
也應該可以搭配 壓縮/解壓縮 ,
這樣就可以塞更大的東西進去. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
cdy
註冊時間: 2008-12-30 文章: 26
第 14 樓
|
發表於: 星期四 五月 29, 2014 10:49 pm 文章主題: |
|
|
h02022 寫到: | 請問我為什麼寫入sql只能寫50M左右檔案大小呢?
60M 以上就不行了
請問這何解呢?? |
*******************
我有試過透過vfp 的memo欄位(不要用通用欄位),可上傳到spt sql,800MB沒有問題
,然後再用VFP 取出來!也沒有問題!
請貼一下你的語法吧! |
|
回頂端 |
|
|
cdy
註冊時間: 2008-12-30 文章: 26
第 15 樓
|
發表於: 星期四 五月 29, 2014 11:02 pm 文章主題: |
|
|
syntech 寫到: | 也應該可以搭配 壓縮/解壓縮 ,
這樣就可以塞更大的東西進去. |
**************
請教一下前輩,如何在VFP 中執行WINRAR 壓縮及解壓
謝謝您! |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|