  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 16 樓
  | 
		
			
				 發表於: 星期四 十一月 20, 2014 9:58 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Peggie 寫到: | 	 		  
 
如果兩個資料庫只有一個人在使用,使用4樓大大的用法是行得通的
 
use c:\data1\table share
 
但若是c:\data1\database 已被其它人開啟,下了use c:\data1\table share會出現"c:\data1\database.dbc資料庫:檔案存取失敗"
 
所以要開啟多人存取系統中資料庫下的table,就必須先開啟該資料庫才能開啟其下的table
 
 | 	  
 
 
 
應該不是這樣.
 
 
應該是你的程式裡有
 
SET EXCLUSIVE ON
 
或是 
 
OPEN DATABASE EXCLUSIVE
 
或
 
USE TABLE EXCLUSIVE
 
 
才造成無法多人開啟.
 
這可能是前人習慣的做法.
 
 
可以用 ISEXCLUSIVE() 測試看看.
 
 
否則,
 
其他人說的是對的,
 
直接開TABLE 就好
 
 
 
 
在 USE 的HELP 中 有這一段:
 
------------
 
在用於非目前資料庫時,USE 命令自動開啟資料庫,但不會將該資料庫設定為目前資料庫。關閉資料表格時,資料庫仍然保持開啟。
 
------------ _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 17 樓
  | 
		
			
				 發表於: 星期四 十一月 20, 2014 10:31 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Peggie 寫到: | 	 		  
 
所以請你先搞清楚我的原本問題再做回答! | 	  
 
嗯,可能我沒搞清楚你您的原本問題
 
失禮了! | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 18 樓
  | 
		
			
				 發表於: 星期四 十一月 20, 2014 11:21 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | 引言回覆: | 	 		  
 
如果兩個資料庫只有一個人在使用,使用4樓大大的用法是行得通的 
 
use c:\data1\table share 
 
但若是c:\data1\database 已被其它人開啟,下了use c:\data1\table share會出現"c:\data1\database.dbc資料庫:檔案存取失敗" 
 
所以要開啟多人存取系統中資料庫下的table,就必須先開啟該資料庫才能開啟其下的table 
 
 | 	  
 
 
這個問題是 SET EXCLUSIVE on 所造成的
 
只要所有要use table 之前有下過 SET EXCLUSIVE off 指令就沒 資料庫:檔案存取失敗 這個問題.
 
程式運作原理是當你 set exclusive on 時, 雖然你用了 use ... share 不會用專用模式開啟, 但vfp 會依你目前 set exclusive on 的設定將 dbc 檔開啟成專用模式, 當然不容許第二個人再次開啟它. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		Peggie
 
 
  註冊時間: 2014-10-28 文章: 13
 
  第 19 樓
  | 
		
			
				 發表於: 星期四 十一月 20, 2014 11:46 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				To Syntech:
 
開發環境是使用set exclusive on!但系統同時兩個使用者在拉相同資料表資料並不會出現異常!應該是內部有依使用者權限做資料庫及資料表的share/share noupdate切換
 
 
另外,我有做個測試:
 
先在第一台電腦下use w:\data1\table share(單獨開啟table)
 
但在第二台電腦下use w:\data1\table share時,一樣會出現"c:\data1\database.dbc資料庫:檔案存取失敗" 
 
發現第一台電腦在開啟table時一併會開啟其資料庫w:\data1\database.dbc
 
因為我在第一台電腦下set database to database 沒有出現錯誤
 
 
個人感覺DBC真的很難用,為什麼有開發者要使用DBC啊!?
 
請教一下,使用DBC有什麼好處? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		Peggie
 
 
  註冊時間: 2014-10-28 文章: 13
 
  第 20 樓
  | 
		
			
				 發表於: 星期四 十一月 20, 2014 12:02 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				感謝Syntech、garfield
 
我在程式開頭加上set exclusive後就可以了! | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		bx1166
 
 
  註冊時間: 2011-12-06 文章: 273
 
  第 21 樓
  | 
		
			
				 發表於: 星期四 十一月 20, 2014 5:30 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我怎麼覺得答案跟原來的問題對不上?
 
 
發表發表於: 星期四 十一月 20, 2014 12:02 pm    文章主題:	引言回覆
 
感謝Syntech、garfield 
 
我在程式開頭加上set exclusive後就可以了! | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		Peggie
 
 
  註冊時間: 2014-10-28 文章: 13
 
  第 22 樓
  | 
		
			
				 發表於: 星期五 十一月 21, 2014 10:19 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				To bx1166:
 
前面幾位大大已經說出可解決的方法,麻煩你往前看
 
後面只是我在測系統時一直衍生問題所以請求幫忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |