<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VC++ Archives | Xiaoming Tu - Blog</title>
	<atom:link href="https://www.xiaomingtu.com/tags/vc/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xiaomingtu.com/tags/vc</link>
	<description>学习、工作、生活，点点滴滴。</description>
	<lastBuildDate>Wed, 09 May 2012 23:50:53 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>MFC访问ACCESS2003出现不可识别数据库的问题（static dll和shared dll）</title>
		<link>https://www.xiaomingtu.com/archives/15391?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=omfcaieaccess2003oioeedheyyauaieiastatic-dllishared-dll</link>
					<comments>https://www.xiaomingtu.com/archives/15391#respond</comments>
		
		<dc:creator><![CDATA[Xiaoming]]></dc:creator>
		<pubDate>Sun, 07 Jan 2007 11:44:00 +0000</pubDate>
				<category><![CDATA[专业技术]]></category>
		<category><![CDATA[桌面应用]]></category>
		<category><![CDATA[Access]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[DLL]]></category>
		<category><![CDATA[MFC]]></category>
		<category><![CDATA[VC++]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://blog.csdn.net/al2ping/article/details/1476201</guid>

					<description><![CDATA[<p>这里不想讲静态链接和动态链接有什么区别，这个我觉得每个学计算机的人都应该知道，就跟常识一样。 为什么突然想到来写这个问题呢，主要是刚碰到一个问题，用CDaoRecordset访问ACCESS 2003 的数据库时候出现了“不可识别的数据库”问题，问题出在MFC DLL上，如果你需要访问Access 2003的数据库，你可以非常简单的在 CYourApp::InitInstance() 中加入 AfxGetModuleState()-&#62;m_dwVersion   =   0x0601;  这句，这样就可以访问了，但这种情况只适用于shared dll，因为这种方法实际上是在运行时动态改变DLL版本，所以当你的工程是采用static dll 时，这个方法就不对了，解决办法是：（ VCPATH/ 代表VC安装目录下的VC98目录） 1。找到VCPATH/MFC/SRC下的Daocore.cpp，在 // Determine whether to use DAO 3.6, 3.5, or 3.0 // Use DAO 3.0 if DLL build and not built with MFC 4.21 or later // Use DAO 3.6 if MFC 6.01 or later // otherwise, DAO [&#8230;]</p>
<p>The post <a href="https://www.xiaomingtu.com/archives/15391">MFC访问ACCESS2003出现不可识别数据库的问题（static dll和shared dll）</a> appeared first on <a href="https://www.xiaomingtu.com">Xiaoming Tu - Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>这里不想讲静态链接和动态链接有什么区别，这个我觉得每个学计算机的人都应该知道，就跟常识一样。</p>
<p>为什么突然想到来写这个问题呢，主要是刚碰到一个问题，用CDaoRecordset访问ACCESS 2003 的数据库时候出现了“不可识别的数据库”问题，问题出在MFC DLL上，如果你需要访问Access 2003的数据库，你可以非常简单的在 CYourApp::InitInstance() 中加入 <span style="color: #ff0000;">AfxGetModuleState()-&gt;m_dwVersion   =   0x0601; </span> 这句，这样就可以访问了，但这种情况只适用于shared dll，因为这种方法实际上是在运行时动态改变DLL版本，所以当你的工程是采用static dll 时，这个方法就不对了，解决办法是：（ VCPATH/ 代表VC安装目录下的VC98目录）<span id="more-15391"></span></p>
<p>1。找到VCPATH/MFC/SRC下的Daocore.cpp，在</p>
<p><span style="color: #666699;">// Determine whether to use DAO 3.6, 3.5, or 3.0</span></p>
<p>// Use DAO 3.0 if DLL build and not built with MFC 4.21 or later</p>
<p>// Use DAO 3.6 if MFC 6.01 or later</p>
<p>// otherwise, DAO 3.5</p>
<p>这之后加入：</p>
<p><span style="color: #ff0000;">#undef   _MFC_VER</span></p>
<p>#define   _MFC_VER   0x0601</p>
<p>保存退出。</p>
<p>2。运行VCPATH/Bin下的VCVARS32.BAT。</p>
<p>3。在命令行中，cd到VCPATH/MFC/SRC目录，使用命令：</p>
<p><span style="color: #ff0000;">nmake   DEBUG=1    <span style="color: #000000;">或者</span></span></p>
<p><span style="color: #000000;">release版本：</span>nmake   DEBUG=0    <span style="color: #000000;">或者</span></p>
<p><span style="color: #000000;">unicode支持：</span></p>
<p><span style="color: #ff0000;">nmake   DEBUG=1     UNICODE=1  <span style="color: #000000;"> 或者</span></span></p>
<p>nmake   DEBUG=0     UNICODE=1</p>
<p>重新编译DLL文件，使用这种方法将会覆盖VCPATH/MFC/Lib下的文件，所以最好先做个备份。</p>
<p>The post <a href="https://www.xiaomingtu.com/archives/15391">MFC访问ACCESS2003出现不可识别数据库的问题（static dll和shared dll）</a> appeared first on <a href="https://www.xiaomingtu.com">Xiaoming Tu - Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.xiaomingtu.com/archives/15391/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
