上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Watermelon
註冊時間: 2005-01-22 文章: 197
第 16 樓
|
發表於: 星期四 十一月 26, 2009 8:04 pm 文章主題: |
|
|
非常感謝各先進,我會努力試看看! |
|
回頂端 |
|
|
tinwhang
註冊時間: 2009-11-08 文章: 104
第 17 樓
|
發表於: 星期四 十一月 26, 2009 10:59 pm 文章主題: |
|
|
如果第二台改成這樣的話 ,會怎樣 ?
SELE * from \\pc03\共用\aa檔 into table c:\bb1檔 |
|
回頂端 |
|
|
goodnight
註冊時間: 2008-10-13 文章: 472 來自: 台南市
第 18 樓
|
發表於: 星期五 十一月 27, 2009 1:06 pm 文章主題: |
|
|
方不方便提供你那個 from 出來, 還有那一段的 source , 只要含開檔的語法
也許可看出一點問題 |
|
回頂端 |
|
|
Watermelon
註冊時間: 2005-01-22 文章: 197
第 19 樓
|
發表於: 星期六 十二月 05, 2009 11:47 pm 文章主題: |
|
|
感謝各位!雖原因不明,但改用下列語法暫時沒問題。
SELE 0
use \\pc03\共用\aa檔
copy to c:\bb檔 |
|
回頂端 |
|
|
jys
註冊時間: 2004-12-27 文章: 33 來自: 台灣
第 20 樓
|
發表於: 星期一 十二月 14, 2009 1:31 pm 文章主題: |
|
|
SELE * from \\pc03\共用\aa檔 into table c:\bb檔
這時 bb 會是 Use 狀態,要將它關掉,其他的程式才可以覆蓋該檔. |
|
回頂端 |
|
|
Watermelon
註冊時間: 2005-01-22 文章: 197
第 21 樓
|
發表於: 星期四 四月 29, 2010 8:01 pm 文章主題: |
|
|
對不起回錯地方了。 |
|
回頂端 |
|
|
Watermelon
註冊時間: 2005-01-22 文章: 197
第 22 樓
|
發表於: 星期四 一月 03, 2013 7:48 pm 文章主題: |
|
|
SELE * from \\pc03\共用\aa檔 into table c:\bb檔
感謝各位相助,改用copy to 至今客戶沒再反應,但我跟本不相信是這一行命會有問題,所一直測試,終於有一台電腦出現上述問題,幾經摸索在關閉防毒軟後即可正常運作,但這與2台電腦的先後執行應不相干,客戶為何這樣說呢? 百思不解,在相同防毒軟體下為copy to 沒出現問題?以上向各位大大報告。 |
|
回頂端 |
|
|
goodnight
註冊時間: 2008-10-13 文章: 472 來自: 台南市
第 23 樓
|
發表於: 星期三 一月 16, 2013 10:26 pm 文章主題: |
|
|
如果大家都 SELE * from \\pc03\共用\aa檔 into table c:\bb檔, 並不是不可行的
你得先知道 vfp 預設是 exclusive on
但是一旦使用 select * from <source> into table <taget>, 只針對 taget 會自動以 exclusive 開啟, 於是 set exclusive off 就會失效
因此 bb檔被第一台產生後, 就會自動用 exclusive 開啟, 導致下一個人無法使用, 必須產生完成後 use in bb 關閉
SELE * from \\pc03\共用\aa檔 into table c:\bb檔
use in bb
你記得上次你提供的訊息嗎?
1705 的訊息是: 嘗試對一個有寫入保護或已被其他使用者以專用模式開啟的檔案進行寫入操作
當時已經告訴你答案了, 只是你並沒有了解其他人的意見, 你可以再往前看, 大家幾乎都提到了專用 (exclusive)
並不是表示你用 copy to 就不會有問題, 如果很不幸的, 你有十萬筆的資料, 兩個人只差兩秒去處理, 此時也會發生問題, 不過很幸運的是, 你應該很難遇到, 因為你的資料量應該都很小
我並不了解你這個檔的用途和做法, 如果 bb 只是暫存用, 可以改成機號檔, 例如: SELE * from \\pc03\共用\aa檔 into table c:\pc1
我會這麼做
export_file = "c:\" + left(sys(0),10)
select * from \\pc03\共用\aa檔 into table (export_file)
或是
export_file = left(sys(0),10)
select * from \\pc03\共用\aa檔 into cursor (export_file)
看起來, 你的 bb 檔應該是隨時會被覆蓋, 所以你應該重新規劃一下, 這個bb檔的定位
最後 SELE * from \\pc03\共用\aa檔 into table c:\bb檔 的方式, 與防毒軟體完全無關
為什麼用 copy to 會正常, 你想過嗎? 因為 copy to 是直接輸出檔案, 並不會開啟輸出的檔案, 所以你才會認為沒問題
以上個人的看法, 希望你能理解 |
|
回頂端 |
|
|
55812296
註冊時間: 2012-09-19 文章: 49
第 24 樓
|
發表於: 星期四 一月 17, 2013 11:46 am 文章主題: |
|
|
這好像跟SET EXCLUSIVE OFF 無關
當SELE INTO TABLE C:\BB 會自動開啟該檔 SET EXCLUSIVE OFF 雖然可讓其他人開啟該檔
但當其他人SELE * from \\pc03\共用\aa檔 into table c:\bb檔 時是要對 c:\bb檔重新復寫(不是dbf更新) 這已不是vfp的SET EXCLUSIVE OFF關係 而是WINDOWS檔案已開啟無法對該檔重新刪除再新增
已上觀點不知是否正確 |
|
回頂端 |
|
|
elleryq
註冊時間: 2007-06-21 文章: 768
第 25 樓
|
發表於: 星期四 一月 17, 2013 3:05 pm 文章主題: |
|
|
我也覺得是 exclusive 問題。 |
|
回頂端 |
|
|
Watermelon
註冊時間: 2005-01-22 文章: 197
第 26 樓
|
發表於: 星期五 一月 18, 2013 11:31 pm 文章主題: |
|
|
非常非常感恩各位大大的的指點!
其實VFP我也不是很熟,大部份是用舊時代dBASE的語法拼拼湊湊而已,因使用者在遠方所以這一次有一點被使用者誤導,其實SELE * from \\pc03\共用\aa檔 這語法沒問題,也不是bb檔出問題而是into table c:\bb檔 寫入出問題,是對C碟寫入權限的問題,有的只要關閉防毒軟體就OK。
bb檔是ADD COLUMN幾個欄位後運算用的暫存檔,在同一台電腦有防止重複讀入軟體的設定,所以bb檔是沒問題的,因不是很懂所以被使用者誤導,這個問題可以確定是寫入C碟的權限問題,防毒軟體為何會擋我就不知為何?
以上報告,再次感謝各位幫忙! |
|
回頂端 |
|
|
andywilliams
註冊時間: 2004-10-23 文章: 111
第 27 樓
|
發表於: 星期六 一月 19, 2013 5:01 pm 文章主題: |
|
|
..into table c:\MyPrgTemp\bb檔
最好不要寫入根目錄 |
|
回頂端 |
|
|
|