ACCESSÊý¾Ý¿â´æ´¢´óÅúÁ¿²É¼¯ÐÅÏ¢µÄÎÊÌâ
ÓÉÓÚ¹¤×÷ÐèÒª£¬Ê¹ÓÃACCESSÊý¾Ý¿â´æ´¢¸Û¿ÚÖÜΧAISÉ豸½ÓÊÕµ½µÄ´¬²°Êý¾Ý¡£ÓÉÓÚÔÚÈ«¹úºÜ¶à¸Û¿ÚÓвɼ¯µã£¬Òò´Ë£¬Êý¾ÝÁ¿ºÜ´ó£¬Ã¿Èý·ÖÖÓ´æ´¢Ò»´ÎÊý¾ÝµÄ»°£¬ÄÇôһ´Î½«ÓÐ2000¶àеĴ¬Î»Êý¾Ý¡£ÕâЩÊý¾ÝÈë¿âºó£¬Êý¾Ý¿âÎļþ´óС½«ÐÂÔö1Mµ½2M×óÓÒ¡£¸ù¾ÝÕâ¸öƵÂÊ£¬Ò»¸öСʱÊý¾Ý¿âÎļþ½«Ôö¼Ó40M£¬Ò»Ìì¾ÍÊÇ960M¡£
ΪÁËÌá¸ßÊý¾Ý¿âЧÂÊ£¬ÎÒ¶ÔÊý¾Ý¿âÖд洢µÄ´¬²°Êý¾Ý½øÐж¨Ê±É¾³ý£¬×î¶à±£Áô30ÍòÌõ¼Ç¼¡£µ«ÊÇACCESSÖÐÖ´ÐÐdeleteºó£¬²¢Ã»ÓÐÔÚ¿Õ¼äÉϼõÉÙ£¬¶øÖ»ÊǼõÉÙÁ˱íÖеÄÊý¾ÝÁ¿£¬ÕâÑù£¬¾Í´ï²»µ½Êý¾Ý¿âÎļþ±äСµÄÒªÇó¡£
ΪÁ˽â¾öÕâ¸öÎÊÌ⣬´ÓÍøÉÏÕÒµ½ÁËͨ¹ýд´úÂëʵÏÖÊý¾Ý¿âÎļþѹËõµÄ´úÂ롣ͨ¹ýѹËõ¿ÉÒÔÊÍ·ÅdeleteºóÕ¼ÓõĿռ䡣
ʵ¼ÊµÄ´úÂëÈçÏ£º
============================================
BOOL CPetrelProView::CompactDatabase()
{
WriteLog("===¿ªÊ¼Êý¾Ý¿âѹËõ===","COMPDB");
//::CoInitialize(NULL);
CString sDBFilePathName = GetModulePath() + "ShipSurvey.mdb";//Êý¾Ý¿âÎļþ
CString sDstDBFilePathName = GetModulePath() + "ShipSurvey_back.mdb";//ÁÙʱÎļþ
try
{
::DeleteFile(sDstDBFilePathName);//ɾ³ýÒÑÓеÄÁÙʱÎļþ
CFile::Rename(sDBFilePathName,sDstDBFilePathName);//½«µ±Ç°¿âÎļþ¸ÄÃûΪÁÙʱÎļþ
}
catch(...)
{
WriteLog("Îļþ¸ÄÃûʧ°Ü¡£","COMPDB");
return FALSE;
}
IJetEnginePtr jet(__uuidof(JetEngine));
BOOL bOK = TRUE;
try
{
//ѹËõÁÙʱÎļþΪµ±Ç°Îļþ
CString sSrc;
sSrc.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=",sDstDBFilePathName);
CString sDst;
sDst.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Password=",sDBFilePathName);
long lResult = jet->CompactDatabase(_bstr_t(sSrc),_bstr_t(sDst));
jet.Release();
//::CoUninitialize();
if(lResult == S_OK)
{
WriteLog("Êý¾Ý¿âѹËõÍê³É¡£","COMPDB");
WIN32_FILE_ATTR
Ïà¹ØÎĵµ£º
DELPHIÖвÙ×÷ACCESSÊý¾Ý¿â(½¨Á¢.mdbÎļþ,ѹËõÊý¾Ý¿â)
ÒÔÏ´úÂëÔÚWIN2K,D6,MDAC2.6ϲâÊÔͨ¹ý,
±àÒëºÃµÄ³ÌÐòÔÚWIN98µÚ¶þ°æÎÞACCESS»·¾³ÏÂÔËÐгɹ¦.
//ÉùÃ÷Á¬½Ó×Ö·û´®
Const
SConnectionString
= 'Provider=M ......
1¡¢VSS¿Í»§¶Ë´ò¿ª¹¤³ÌʱÌáʾ Access to file"\\***\rights.dat" denied
¸ÃÌáʾÊÇָûÓÐÍøÂç·ÃÎʵÄȨÏÞ£¬Óû§ÒªÔÚ¹²ÏíÎļþ¼ÐÓпÉдµÄȨÏ޲ſÉÒÔ¡£ÎÒÃÇÔÚÉèÖù²ÏíÎļþµÄʱºòÓ¦¸ÃÔÊÐíдÈë¡£
2¡¢ÎªVSSÉèÖû·¾³±äÁ¿
ĬÈÏÇé¿öÏÂÎÒÃÇÿ´Î´ò¿ªVSS¿Í»§¶ËÌî³äµÄÓû§Ãû¶¼Êǵ±Ç°ÏµÍ³µÇ½µÄÓû§£¬ÕâÑùʹÓÃÆðÀ´ºÜ²»·½±ã¡£Î ......
ÓÃCdbl()ÊÔÊÔ
CDbl(str) --> Ë«¾«¶È
CInt(str) --> ÕûÐÍ
CLng(str) --> ³¤ÕûÐÍ
CSng(str) --> µ¥¾«¶È
CDate(str) --> ÈÕÆÚÐÍ ......
Õâ¶Îʱ¼äÔÚ×öCMS£¨¿Í»§¹ÜÀíϵͳ£¬²»ÊÇÄÚÈݹÜÀí£©µÄ·ÃÎʹÜÀí¹¦ÄÜ£¬ÒªÇóʵÏÖ¶Ô·þÎñÌṩÉ豸£¬¿Í»§¶Ë£¬¼Æ·Ñ£¬È¨ÏÞÈÏÖ¤µÈÐÅÏ¢µÄ´æ´¢Í³¼Æ£¬Ô¶³Ì¹ÜÀí¡£ÒªÇóϵͳ·¢²¼Òª·½±ã£¬Ô¶³Ì¹ÜÀíÈí¼þÒªÅÜÔÚWINƽ̨¡£¿¼Âǵ½ÏµÍ³¹æÄ££¬¿Í»§ÒªÇó£¬×îºóÑ¡ÔñÁËWIN+ACCESSµÄ·½°¸£¬¶ø×î½üÓÖ·¢ÏÖÒ»¸öÃâ·ÑµÄSQLITE£¬¶øÇÒ¿ÉÄÜÔÚÒÔºóµÄÊÖ³ÖÉ豸ÉÏÓ㬻¨µã ......
vc±à³ÌdebugʱÌáʾ
First-chance exception in exShowBmp.exe (HOOKDLL.DLL): 0xC0000005: Access Violation.
First-chance exception in exShowBmp.exe: 0xC0000005: Access Violation.
¿ÉÄܵÄÔÒò:
ÄÚ´æ·ÃÎÊ´íÎó¡£Ó¦¸ÃÊÇ·ÃÎÊÁ˲»¸Ã·ÃÎʵĵط½£¬¿ÉÄÜÊÇʹÓÓҰָÕë”·ÃÎÊÔì³ÉµÄ¡£±ÈÈç·ÃÎÊÒ»¸öÒѾÊÍ·ÅÁ覄 ......