各位大侠,如何通过ODBC数据源的名字,得到数据库文件的全路径? 我的数据库其实就是一个MDB的文件. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MDB的文件?那是不是数据库的文件名为MDB啊??要是这样的话,直接查找文件名为MDB的文件,找到的话直接返回文件目录~找不到就提示不存在文件目录??是不是这个意思?? 注册表下 ODBC/数据源名,其中有一个value,指明数据库路径 楼主的意思是代码实现还是直接通过查看ODBC来查看数据库路径啊??? 当前用户的ODBC配置都在注册表HKEY_CURRENT_USER\Software\ODBC\ODBC.INI里:自己去读吧,读注册表应该会吧.. 直接查询注册表就可以了.但并不是所有的ODBC数据源都可以查到数据库的文件名的.比如SQL Server? 我是指用编程的方式实现,通过一个函数,输入为数据源的名字,能够得到数据库存放的全路径.我用的数据库是一个MDB文件,所以应该是可行的吧.至于查注册表,我觉得用API能够避免一些意外的情况,比查注册表要安全一些 查注册表也是在用API,你也不能保证其他API内部也是通过查注册表来实现的... 那数据库的文件名知道吗?是不是上面所说的MDB名~ to snowbirdfly我现在当然知道名字,但是想做的零活点儿,能够做到通过数据源名来找到数据库的全路径. 我有一个获取Access 的mdb的代码贴上来有点帮组吧BOOL CAlertApp::InitInstance(){ AfxEnableControlContainer(); CString sPath; GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH); sPath.ReleaseBuffer (); int nPos; nPos=sPath.ReverseFind ('\\'); sPath=sPath.Left (nPos); nPos=sPath.ReverseFind('\\'); sPath=sPath.Left (nPos); CString lpszFile = sPath + "\\Alert.mdb"; 这个我是从一本书上看到的,没有完全看懂希望能对你有点启发吧把你的MDB放到你的代码那个文件夹这个代码是可以用的我下面还有一点代码,自动生成odbc数据源的 xbt746(头上无毛),我对你哪个生成数据源的代码感兴趣..., 如何解析字符串? 可以将多个lib文件合并成一个lib文件吗? 怎样用Doc/View做一个像Word里一样的表格? 一个关于ActiveX控件之间通信的问题 关于CListView类 请问怎样实时监控某进程中某内存地址数据的变化而又不占用大量系统资源?(内详) 用CreateIndirect 创建Dialog时,DLGTEMPLATE 怎么填? 请问在VC++中对按钮的判断是怎么编程?高分送!!! 学VC你用的是什么呢? 安装Visual C++ 6.0时 VC添加的菜单怎么是灰色的? 关于#define问题
那是不是数据库的文件名为MDB啊??
要是这样的话,直接查找文件名为MDB的文件,找到的话直接返回文件目录~
找不到就提示不存在文件目录??
是不是这个意思??
自己去读吧,读注册表应该会吧..
我用的数据库是一个MDB文件,所以应该是可行的吧.至于查注册表,我觉得用API能够避免一些意外的情况,比查注册表要安全一些
是不是上面所说的MDB名~
我现在当然知道名字,但是想做的零活点儿,能够做到通过数据源名来找到数据库的全路径.
贴上来有点帮组吧BOOL CAlertApp::InitInstance()
{
AfxEnableControlContainer();
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);
nPos=sPath.ReverseFind('\\');
sPath=sPath.Left (nPos);
CString lpszFile = sPath + "\\Alert.mdb";
这个我是从一本书上看到的,没有完全看懂
希望能对你有点启发吧
把你的MDB放到你的代码那个文件夹这个代码是可以用的
我下面还有一点代码,自动生成odbc数据源的