动态加载数据源,不能访问, 兄弟们来解释解释..!
--功能需求描述--:
访问文件夹下的dbf文件(批量访问);
--尝试的解决方法--
1.递归遍历文件夹,得到所有需要的dbf文件路径;
2.调用SQLConfigDataSource(...),动态创建ODBC数据源;
3.访问动态创建的数据源, CDataBase ---> open();
但是访问失败...ODBC数据库驱动都尝试了下, 还是行不通...
不知道那位兄弟做过类似的操作没..?
--上述代码--
//....
CDataBase dbfDB;
char DNSstr[2048];
strcpy(DNSstr, "DSN=");
CString DNSName = strcat(DNSstr, dbfFileMap.GetAt(i));
//创建ODBC数据源
BOOL CrDNS = SQLConfigDataSource(NULL,
ODBC_ADD_DSN,
"Microsoft Visual FoxPro Driver",
DNSName );
if (CrDNS)
{
BOOL m_OpenDbfFlag = dbfDB.Open(DNSName,
FALSE,
FALSE,
_T("ODBC;UID=;pwd="),
TRUE);
if (m_OpenDbfFlag)
{
//...
dbfDB.ExecuteSQL(sql操作语句);
}
}
//....