1. 怎樣解決遠程資料庫的經常斷網求答案
CDatabase::SetQueryTimeout();設定查詢超時,當sql 語句(包括存儲過程)執行超過這個時間時就會出錯。這個出錯可以用try和catch來捕捉的。你可以估算一下,執行一條sql 語句大約需要多長時間,超過這個時間你可以認為是連接中斷了。
中斷後你可以再重新建立一個新的連接。
一個事務盡可能的短,否則用戶多了有可能會造成資料庫中數據表鎖死現象
因為我沒有做過遠程連接,這也僅僅是我的猜測,也不知對不對
2. MFC 如何斷網後自動恢復資料庫連接,並且繼續執行線程,MYSQL
思路是在執行SQL的時候捕獲異常,發生異常時,自動重新連接,重試。 ADO代碼示例:
void C_Ado::Disconnect()
{
if ( this->m_isConnected )
{
if(this->m_connectionPtr != NULL)
{
if ( this->m_connectionPtr->State )
this->m_connectionPtr->Close();
}
this->m_isConnected = false;
}
}
bool C_Ado::Execute(const char *sql)
{
if ( ! this->m_isConnected )
{
Connect();
}
_CommandPtr pCommand;
try {
pCommand.CreateInstance("ADODB.Command");
pCommand->ActiveConnection = this->m_connectionPtr;
pCommand->CommandType = adCmdText;
pCommand->CommandText = _bstr_t(sql);
pCommand->Execute(NULL, NULL, adCmdText);
}
catch(_com_error e) {
this->Disconnect();
return false;
}
return true;
}
3. 如何修復SQL資料庫置疑 修復SQL資料庫置疑方法
1、在實際的操作中由於突然斷電或者突然斷網造成資料庫置疑(在企業管理器中資料庫後面出現置疑兩個字),下面我們通過以下方法來進行修復置疑的資料庫。
2、我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager裡面建立。
3、停掉資料庫伺服器。
4、將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。
5、啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。
6、設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
4. 向遠程資料庫上傳信息,如果突然斷網,要求在網路恢復時自動從斷開處繼續上傳,可以指點個大致方向嗎
你好黑夜丶風,看你用的是什麼瀏覽器了
如果不是ie瀏覽器 可以找到下載設置 繼續下載
ie瀏覽器 如果是ie11版本 可以繼續下載
其他的版本 就需要重新下載了
5. 連接遠程資料庫 中途斷網 要不要重來open
一般斷網了資料庫連接就斷了,程序裡面一般用異常處理來處理這類情況就行了,當然你可以捕捉異常,如果是資料庫斷開的異常,再reopen。
個人認為沒必要,即使在事務處理中,資料庫未收到提交請求也是不會提交事務的
6. 遠程連接SQL Server資料庫,執行語句時突然斷網,得等15秒才返回錯誤信息,請問怎麼縮短這個時間
你是用客戶端遠程伺服器資料庫么? 如果出現這種情況。 你完全可以點擊左上角的紅色小按鈕,取消執行這樣就不用等15s了。就在執行按鈕的旁邊。
如果是用程序訪問遠程資料庫,出現斷網,不想等待那麼久,就設置一個timeout就好了。
7. 兩台異地SQL資料庫能不能使資料庫時刻同步
所謂時刻同步,就是雙機熱備,這樣的系統對通訊線路的要求很高,你的系統連基本的數據常連都不能保障,雙機熱備的方案是不現實的.
假設我判斷正確,你的系統應該不是特別的復雜,專賣店的數據應該都是些進銷存與客戶資料等數據,這些數據能夠幾個小時同步一次也可以滿足數據同步的業務要求.
我提供一個折衷的辦法,所有的資料庫(增/刪除/改)操作都保存在一個名字叫資料庫同步表的表中一個終端修改了數據,就將這個表中記錄傳遞到另外一個店鋪進行同步操作,這樣數據就同步.
這種方法的重點是同步機制的確定(各分店數據同步的順序);
這種方法始終不是操作一個相同的表,會存在對同一數據的重復操作沖突(比如A店的貨已經賣光,庫存清零,但B店又賣了一批,就庫存為負了),解決沖突的辦法是保存沖突記錄,提高同步頻率.
8. mysql資料庫 兩地 同步 怎麼做
可以通過主從備份去實現,推薦看看高可用mysql這本書看看,找找相關資料,難度不到,只要你對性能要求不是太高
9. 斷網連接本地資料庫問題
你電腦是否是動態分配IP地址?拔掉網線後手動設置一個任意IP地址再試試可否成功
10. 如何修復sql資料庫數據不一致
修復sql2000資料庫置疑在實際的操作中由於突然斷電或者突然斷網造成資料庫置疑(在企業管理器中資料庫後面出現置疑兩個字),下面我們通過以下方法來進行修復置疑的資料庫。A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQLServerEnterpriseManager裡面建立。B.停掉資料庫伺服器。C.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。D.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。E.設置資料庫允許直接操作系統表。此操作可以在SQLServerEnterpriseManager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。usemastergosp_configure'allowupdates',1goreconfigurewithoverridegoF.設置test為緊急修復模式updatesysdatabasessetstatus=-32768wheredbid=DB_ID('test')此時可以在SQLServerEnterpriseManager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表G.下面執行真正的恢復操作,重建資料庫日誌文件dbccrebuild_log('test','C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\test_log.ldf')執行過程中,如果遇到下列提示信息:伺服器:消息5030,級別16,狀態1,行1未能排它地鎖定資料庫以執行該操作。DBCC執行完畢。如果DBCC輸出了錯誤信息,請與系統管理員聯系。說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQLServerEnterpriseManager打開了test庫的系統表,那麼退出SQLServerEnterpriseManager就可以了。正確執行完成的提示應該類似於:警告:資料庫'test'的日誌已重建。已失去事務的一致性。應運行DBCCCHECKDB以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。DBCC執行完畢。如果DBCC輸出了錯誤信息,請與系統管理員聯系。此時打開在SQLServerEnterpriseManager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。H.驗證資料庫一致性(可省略)dbcccheckdb('test')一般執行結果如下:CHECKDB發現了0個分配錯誤和0個一致性錯誤(在資料庫'test'中)。DBCC執行完畢。如果DBCC輸出了錯誤信息,請與系統管理員聯系。I.設置資料庫為正常狀態sp_dboption'test','dbouseonly','false'如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。J.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQLServerEnterpriseManager裡面恢復,也可以使用如下語句完成sp_configure'allowupdates',0goreconfigurewithoverridego