線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2382
推到 Plurk!
推到 Facebook!

Vista 系統使用BCB6 的ADOConnection 錯誤?

答題得分者是:2007
hdmer@hotmail.com
一般會員


發表:1
回覆:2
積分:0
註冊:2008-10-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-10-23 15:29:54 IP:220.135.xxx.xxx 訂閱
請教各位先進:

我的環境是 Vista Home basic BCB 6.0 Office 2007,由於更新NB,重新安裝BCB6.0,

在舊版開發的環境為 XP Home BCB 6.0 Office 2003,程式沒有任何問題,但在新版中

使用ADOConnection 時,會出現以下的錯誤:

raised exception calss EOleExceptionwith message "無法指出的錯誤"

出錯的部份在這一段:

[code cpp]
TADOConnection *ADOConnection1=new TADOConnection(NULL);
ADOConnection1->Connected = false;
ADOConnection1->LoginPrompt=false;
String filename=ExtractFilePath(Application->ExeName) "Data\\TyphoonParameter.mdb";
String CommandStr = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:database Password=trm228dbmanager;Data Source=" filename; ";Persist Security Info=False";
ADOConnection1->ConnectionString = CommandStr;
ADOConnection1->Connected = true;

[/code]

我覺得很奇怪的是,如果單純Compiler 後,直接執行exe檔,就很正常Work,但是在BCB RunTime 的環境下就會出錯。

這樣一來就無法作debug了。

本來認為是Vista UAC作怪,但是關閉了以後,還是出現錯誤

希望有經驗的大大可以指導,或者可以提供方向

謝謝
2007
中階會員


發表:54
回覆:90
積分:98
註冊:2008-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-10-23 16:24:16 IP:220.132.xxx.xxx 未訂閱

是這問題嗎??

新Microsoft Access 2007,很令我注意,因為以往的MDB檔案已經不再,取而代之是ACCDB File,
有不少人都說效能更好.我自己未試過,
但看到Access 2007的Connection String是不再是一般的OLEDB,
而是

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword
不知道 Provider中的 ACE 是代表什麼,

找了一些值得一看的文章,本人極度Recommend唔用都睇下~

請教各位先進:

我的環境是 Vista Home basic BCB 6.0 Office 2007,由於更新NB,重新安裝BCB6.0,

在舊版開發的環境為 XP Home BCB 6.0 Office 2003,程式沒有任何問題,但在新版中

使用ADOConnection 時,會出現以下的錯誤:

raised exception calss EOleExceptionwith message "無法指出的錯誤"

出錯的部份在這一段:

[code cpp]
TADOConnection *ADOConnection1=new TADOConnection(NULL);
ADOConnection1->Connected = false;
ADOConnection1->LoginPrompt=false;
String filename=ExtractFilePath(Application->ExeName) "Data\\TyphoonParameter.mdb";
String CommandStr = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:database Password=trm228dbmanager;Data Source=" filename; ";Persist Security Info=False";
ADOConnection1->ConnectionString = CommandStr;
ADOConnection1->Connected = true;

[/code]

我覺得很奇怪的是,如果單純Compiler 後,直接執行exe檔,就很正常Work,但是在BCB RunTime 的環境下就會出錯。

這樣一來就無法作debug了。

本來認為是Vista UAC作怪,但是關閉了以後,還是出現錯誤

希望有經驗的大大可以指導,或者可以提供方向

謝謝
;
hdmer@hotmail.com
一般會員


發表:1
回覆:2
積分:0
註冊:2008-10-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-10-23 17:28:31 IP:220.135.xxx.xxx 訂閱

2007 大大,您好:

我可能說的不夠清楚,我還是連結mdb的檔案,而不是accdb檔案哦…

困擾我的是,Compiler過的exe 檔案是正常運作的,只是在BCB IDE中不能運作。



hdmer@hotmail.com
一般會員


發表:1
回覆:2
積分:0
註冊:2008-10-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-10-23 19:40:31 IP:220.135.xxx.xxx 訂閱

已解決了,原因是自已多事,為了加快速度,利用RamDisk 將大於3 G以上的記憶體作成磁碟機

然後將Temp目錄指到這個磁碟機,原本的用意是為了加快系統速度,沒有想到會有影響,看了一些文章才發現

bcb使用ODBC或jet 時會在 temp目錄下建立暫存檔,而我指向的Temp目錄權限沒有開啟,Vista的權限

管控的嚴,就會造成這種情形。

謝謝大家。
系統時間:2017-10-18 13:22:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!