我在沒安裝access數據庫的新系統中運行開發的程序,提示不能連接到數據庫。我是以ado方式開發的,
連接字串是:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database.mdb","","",adModeUnknown
我設置控制面板里的ODBC,里面沒有Jet這個數據源啊!我下載安裝jet也不好使,安裝mdac也不好使~在ODBC里就是沒有jet的數據源~~
我的系統是XPsp3,程序如何才能連接到mdb文件啊?
11 个解决方案
看看“驅動程序”里面有沒有“Mircsoft Access Driver(*.mdb)"類似的條目,有的話說明你的驅動已經裝了,是你的ADO程序問題
在ODBC中添加一個Database的數據源
http://www.roboticfan.com/blog/user_2005/9638/archives/2007/20079222151.shtml
問題是我在本機運行的好好的啊,樓上給的博客我也按照那樣設置了,但是還是不行啊!
// stdafx.h : include file for standard system include files,
……
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace,rename("EOF","adoEOF")
……
#endif // !defined(AFX_STDAFX_H__F0816855_85B2_461F_B7A9_FAEFEB506130__INCLUDED_)
一下是連接數據庫代碼
::CoInitialize(NULL);
m_pConnection.CreateInstance(__uuidof(Connection));
try
{
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database.mdb","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return 0;
}
不會吧. win32系統默認sql2000,access驅動都安裝了
剛才我安裝了access2003居然還是不能運行~~我這郁悶啊~~到底缺什么東西?
問題找到了,我必須要重新編譯一下才能在別的機器上用,這是為什么啊??
如果不全新編譯,調試的時候就會提示錯誤,找不到…….tli文件,全新編譯之后提示一個警告
:\我的文檔\桌面\源代碼\源代碼\debug\msado15.tlh(407) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
全新編譯以后就可以用了~這是為啥?程序發布以后我不能每個機器都編譯一遍吧??
我一般用ADO方式,需要的那個類庫已經在系統文件中了,還沒發現有啥問題。
"Driver={Microsoft Access Driver (*.mdb)};""Dbq=c:\\database.mdb;Uid=;Pwd="
我自己解決了,各位辛苦了~
原來是msado15.dll版本問題,在高版本下編譯的不能在低版本下運行,只能在低版本下編譯后才能在高版本環境下運行~~