討論一下Access表解決沖突連接的最佳解決方案??? (300分)

将A机有ACCSE数据库的目录,用98的映射成本地的某盘,再用ADO连上,行不行?
 
[red]to:All
不好意思,我提的問題可能是時間有限,所以沒說清楚
其實我主要的目的也不應該隻是討論連接的問題,主要是處理連接沖突的問題
因為我測試了很久都沒找到更好的處理方法,所以才來請教各位富翁。

在測試的過程我還發現了一點,就是連接的時候,網絡中其它機器沒辦法連接的情況下,在本地機器還是可以連接的,所以我就用了三層去處理,就是在數據庫所在機器上運行中間層,那樣就類似於在本地機訪問數據庫,我試過,這樣可行,但問題是速度感覺有點慢(不是很理想),所以想有沒有其它辦法連接可以保証速度又可以保証安全性,又要保証不會出現連接沖突的現象。
希望各位富翁多多發言,多提提自己的看法。討論結果滿意我會重新開貼送分[/red]
 
用ADODATASET,+事务处理 可以的
 
to:zlyanyan
不知老兄是否有測試過,我現在設置好ODBC連接該數據庫可以設置,但用ADO連接的時候根本就連接不上,還談什麼事務處理,我隻要讀數據,根本就不用寫數據,所以也沒有必要用事務處理,主要還是解決連接沖突的
 
当然是用ADO了
 
怎麼每一位都知道ADO,但就是不看看仔細的內容呢[:(]
 
是不是别人做的那个程序将access数据库独占了呢?
只是个猜想
 
to:52free
應該不會,因為多個Access程序連接不會出現沖突現象
還有在obbc裡面可以正常的設置連接
 
其实你做了这么多为什么不用SQL Server呢?
 
老兄,人家那些以前的程序現在不可能去改啊
要是有可能的話,早就搞定了
 
我只能在道义上 再次 支持你了
 
to:hfghfghfg
謝謝你的支持!我想我應該結貼了,都沒討論出更好的方法

有時間看看
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1972940
的第二個問題
 
要想支持多个连接且安全性好的话,最好建立一个应用服务器,由此应用服务器去连接Access,这样在服务端只要一个连接即可,客户端用ClientDataset连接服务端取得数据,服务端另外再提供接口给客户端进行一些数据操作。
 
to:lightstar
三層的想法有試過,是可行的,但我想知道有沒有其它辦法能實現
還有,三層其實也是在服務器端有多個連接,隻不過這些連接都可以正常連接而已,這一點老是想不明白。為什麼在本地機就可以有多個連接,網絡其它機器就不行
 
>> 我試過,這樣可行,但問題是速度感覺有點慢(不是很理想)
楼主:
我觉得你现在在你上面的这句话上下下功夫可能实际一些。:)
 
to:迷糊
我這樣做是在一個統計語句裡面的,裡面最多的時候連接四個表,有三個上2萬,一個也差不多一萬,在語句方面我覺得沒有更好的啦(可能是我比較笨)
最慢的就是我所說的這個數據庫
A表 bh,SL 2萬以上記錄
B表 bh,dbh,ID 2萬以上
C表 dbh,RQ 差不多2萬
D表 ID MC 最少也有5000

統計A表的SL。條件:A表.bh=B表.bh B表.dbh=C表.dbh D表.ID=B表.ID C表.RQ可有可無(根據條件而定),還有一點,有些C表的ID在D表裡面沒有對應的ID,那時MC顯示為空
得到結果是 sum(A表.SL), C表.ID, D表.MC
請教有何語句才能更快

[blue]SELECT[/blue] b.ID, MC =(SELECT MC FROM OPENROWSET('msdasql', 'dsn=testDSN','select MC,ID from D表') AS d WHERE d.ID = b.ID),
SUM(a.SL) AS ZL, DW = 'KG'
[blue]FROM [/blue]
OPENROWSET('msdasql', 'dsn=testDSN', 'select SL,DBH from A表') AS a,
OPENROWSET('msdasql', 'dsn=testDSN', 'select aa.DBH,aa.ID from B表 aa,C表 bb where aa.DBH=bb.DBH ') AS b
[blue]WHERE[/blue] a.DBH = b.DBH [red]/*注:因為A表 as a後面還有條件,就沒有和B表,C表一起關聯查詢*/[/red]
[blue]GROUP BY[/blue] b.ID

上面的語句有什麼更快的方法實現,請多指教!!
 
呵呵,指教谈不上,不过对老兄的精神真是佩服。
我觉得access共享访问的时候出现问题也算正常吧,本身文件型数据库对这个的支持就是有限的。这种方法讨论了这么久也没个结果,而且用三层你也认为是可行的,那为什么这种方法不多考虑考虑呢?
三层比两层速度是慢点,但我感觉差异不算太大,上面的语句在两层执行速度可以接受
三层执行你觉得不太理想,那可能是你的中间层有优化的必要了。
一几之谈,各位指正!
 
以上語句是在c/s模式下執行的,速度不怎麼樣,
不知道語句是不是還可以改進的。還有一點可能跟別人在讀該數據庫有關
 
将网络上的文件夹映射为驱动器,将更方便使用。
 
to:bigboysun2000
你還是去試試再說吧
 

Similar threads

I
回复
0
查看
732
import
I
I
回复
0
查看
591
import
I
顶部