1. 程式人生 > >用ADO常用的連線方式和訪問加密的ACCESS資料庫

用ADO常用的連線方式和訪問加密的ACCESS資料庫

在stdafx.h中新增一句指令:

#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")

COM庫的初始化在CWinApp::InitInstance()的過載函式中新增:AfxOleInit(),程式碼如下:

BOOL CADOTest1App::InitInstance()
{
AfxOleInit();
......
}

1. ADO的連線方式:

(1)通過JET資料庫引擎對ACCESS2000資料庫的連線:

       m_ pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;
       Data Source=C:\\test.mdb","","",adModeUnknown);

注:在使用ACCESS 2007存的資料庫時,上面的函式應改為:

       m_ pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\test.mdb","","",adModeUnknown);

(2)通過DSN資料來源對任何支援ODBC的資料庫進行連線:

       m_pConnection->Open("Data Source=adotest;UID=sa;PWD=;","","",adModeUnknown);

(3)不通過DSN對SQL SERVER資料庫進行連線:

       m_pConnection->Open("driver={SQL Server};Server=127.0.0.1;DATABASE=vckbase;
       UID=sa;PWD=139","","",adModeUnknown);

其中Server是SQL伺服器的名稱,DATABASE是庫的名稱。

2. 訪問加密的ACCESS資料庫的連線方式

訪問加密的ACCESS2002資料庫

_ConnectionPtr m_pConnetion;
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=資料庫路徑檔名.mdb;UID=Admin;PWD=密碼","","",adModeUnknown);

訪問加密的ACCESS2007資料庫

_ConnectionPtr m_pConnetion;
m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data source=資料庫路徑檔名.accdb;Jet OLEDB:Database Password=密碼","","",adModeUnknown);