我在哪里可以获得有关ODBC的高质量信息&访问数据库?哪里可以获得有关ODBC和Access数据库的高质量信息?
多年来,我一直在使用ODBC从MFC/C++/Java的各种项目。
目前,我有一个C++/MFC项目,它使用定制的MFC层动态连接到连接到Access 2000 dbm文件的ODBC DSN。
这通常起作用。
不过,我通常得到警告,如:
DBMS:ACCESS版本:04.00.0000 ODBC驱动程序管理器版本: 03.80.0000可选功能没有实现国家:S1C00,本机:106,产地: [Microsoft] [ODBC Microsoft Access 驱动程序]
警告:驱动程序不支持请求的并发。可选 功能没有实现 状态:S1C00,本机:106,产地:[微软] [ODBC Microsoft Access中 驱动程序]
现在,我得到以下时,我们的软件试图创建一个视图:
一般警告无法打开注册表项'Temporary(volatile)Jet DSN for pr ocess 0x18fc Thread 0xc0 DBC 0x8c4cfc Jet'。 状态:01000,本机:1,产地:[微软] [ODBC Microsoft Access驱动程序]
DBMS:ACCESS版本:04.00.0000 ODBC驱动程序管理器版本: 03.80.0000执行SQL:创建视图SPEC作为选择CALNAME如TEST,CARDNUMBER,CARTONSTYLE如纸板箱,CCAL为FLUTE,CORRDIR, CUSTOMERID,说明作为DESCRIPTIO,设计师,DESIGNNUM,JOINTSIZE, JOINTTYPE,PANEL_D作为深度,PANEL_L长度,PANEL_W如WIDTH, RULRULX如DSIZEX,RULRULY如DSIZEY,SHEETUX as SIZEX,SHEETUX as SIZEY,SHEETX as GROSSX,SHEETY as GROSSY from“外观设计”,其中 DESIGNNUM不为空
警告:ODBC成功与信息,驱动程序的 SQLSetConnectAttr失败状态:IM006,本机:0,产地:[微软] [ODBC 驱动程序管理器]一般警告不能打开注册表关键字“Temporary(挥发性)喷气 DSN公关ocess 0x18fc线程将0xC0 DBC 0x8c4cfc喷气机”。 状态:01000,本机:1,产地:[微软] [ODBC Microsoft Access驱动程序]
在第一部分,关于关于可选功能没有实现警告和并发性状态没有实现(也许是相同的基本问题),我不知道我的软件甚至要求什么并发功能?什么并发状态是合适的?人们如何要求“正确”的?是否有Windows版本的表与适当的并发状态请求?
对于第二部分,关于由于未能打开注册表项而导致创建视图的具体失败:呵呵?!谁未能打开什么注册表项?
我发现了一些需要在“Windows NT临时文件夹”上给予IUSR完全权限的信息。这听起来像是桌面应用程序需要关注的一个可怕问题。在操作用户可读写路径中存在的数据库文件时,使用ODBC DSN的桌面应用程序如何关心用户权限?需要更多权限才能允许用户执行此SQL?由于用户已经可以添加和删除数据库中现有表中的列和行,还需要做些什么?
此代码用于在XP下工作。所以我必须假设Vista和/或Win 7增加了一些安全性,现在阻止了这个功能。
我感兴趣的是:从微软
- 标准基准材料,实际上记录了他们不同的ODBC访问接口,期权,版本主机的问题,等等。
- 关于关于并发警告的具体信息。
- 有关尝试在access 2000 dbm中创建视图时显式权限失败的特定信息。
- 对上述进行现代化改造的建议,无需彻底检修或技术更换。即我将愉快地将Access文件更新到2003或2007或其他任何版本,或者将后端切换到SQL Server Lite,但我无法证明从ODBC更改为某些替换中间件(这只是不值得的风险)。
感谢您的任何想法或帮助您可能必须提供。
我没有一个原始问题的答案,但至于点#4。我已经做了几次从Access到SQL Server的转换。由于整体数据库模式的转移只会进行很小的修改,因此转换非常轻松。大部分应用程序SQL也很容易迁移到存储过程。 – 2012-01-02 17:51:34
谢谢。我相信这应该是相当直接的。最大的问题是将SQL Server Lite与我们的安装程序集成,仔细检查任何法律问题,并在我们的应用程序生成的SQL中实施任何需要的语法更改。这不是微不足道的,如果我毫无疑问地知道上述所有问题都可以通过这样的改变来解决,那将更容易证明自己的合理性。最后,需要使用当前正在使用的Access数据库的现有客户的迁移机制,这显然使事情变得复杂。叹。 :P – Mordachai 2012-01-02 18:38:59