明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: SWAYWOOD

64位中怎么通过adodb.connection调用ACCESS数据库?

  [复制链接]
发表于 2013-1-13 15:19:28 | 显示全部楼层
这个问题我早就碰到了
你加我QQ我告诉你:271786483
发表于 2013-1-13 15:20:17 | 显示全部楼层
看漏了一贴
发表于 2014-12-19 18:34:10 | 显示全部楼层
SWAYWOOD 发表于 2013-1-9 20:42
自己搞定了,现在把我的经验分享给大家,相信大家都会遇到这种情况,只是你们暂时没有上WIN7X64位。
主要问 ...

XP系统,装有access 2010 ODBC中有*.mdb,*.accdb


同样是
(vlax-put-property        RecordSetObject
        "cursorType"
        ADOConstant-adOpenKeyset
  )代码出错,显示  错误: ActiveX 服务器返回错误: 无效的参数数目。


如果使用下面的代码,直接没有结果,使用注释掉的那句,还能返回,
(setq *ConnectionObject*
             (ADO_ConnectToDB
               (strcat
                 ;;"Provider=MSDASQL;Driver={Microsoft Access Driver (*.mdb)};DBQ="
                 "Provider=MSDASQL;Driver={Microsoft Access Driver (*.accdb)};DBQ="
                 dbfile
               )
               "admin"
               "123456"
             )
      )

如果往下运行到(setq result (ADO_DoSQL *ConnectionObject* SQLStatement))这句就显示出错了,也是错误: ActiveX 服务器返回错误: 无效的参数数目。

然后往ADO_DoSQL函数中查找,到下面这句就错了。
(vlax-put-property        RecordSetObject
        "cursorType"
        ADOConstant-adOpenKeyset
  )代码出错,显示  错误: ActiveX 服务器返回错误: 无效的参数数目。


请指点一下如何才能正常访问access

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2014-12-20 13:00:54 | 显示全部楼层
(setq dbfile "d:\\tt.MDB")
(setq conn(vlax-create-object "ADODB.Connection"))
(setq connstring (strcat "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" dbfile))
(vlax-invoke-method conn "open" connstring "" "" -1)

连接并打开MDB个人数据库
发表于 2014-12-20 16:52:57 | 显示全部楼层
Gu_xl 发表于 2012-11-28 11:44
测试数据库:

(vlax-put-property
        RecordSetObject
        "cursorType"
        ADOConstant-adOpenKeyset
      )
(vlax-put-property
        RecordSetObject
        "LockType"
        ADOConstant-adLockOptimistic
      )
这两句显示的是一样的:错误: ActiveX 服务器返回错误: 无效的参数数目。
请问如何解决?
因为ADOConstant-adOpenKeyset和ADOConstant-adLockOptimistic在Vlisp编程器中未变色,相当于用户变量,但也没有见给它们赋值的句子,所以就出错了,请问如何更改?
发表于 2014-12-20 16:54:11 | 显示全部楼层
Gu_xl 发表于 2012-11-28 11:44
测试数据库:

(vlax-put-property
        RecordSetObject
        "LockType"
        nil
      )
; 错误: ActiveX 服务器返回错误: 无效的参数数目。
_$ (vlax-put-property
        RecordSetObject
        "LockType"
        ""
      )
; 错误: 此类型的 LISP 值不能强制转换成 VARIANT:  ""

照上面的测试,显示那个值还不能是Nil和“”
发表于 2016-5-9 09:54:32 来自手机 | 显示全部楼层
SWAYWOOD 发表于 2013-1-9 20:42
自己搞定了,现在把我的经验分享给大家,相信大家都会遇到这种情况,只是你们暂时没有上WIN7X64位。
主要问 ...

我也遇到这样的问题,比你惨的是,我们公司根本不让装64位的Access驱动
发表于 2019-8-31 22:18:06 | 显示全部楼层
革天明 发表于 2014-12-20 16:54
(vlax-put-property
        RecordSetObject
        "LockType"

此问题我已经找到了解决办法了
发表于 2019-9-1 13:24:45 | 显示全部楼层
dcl1214 发表于 2019-8-31 22:18
此问题我已经找到了解决办法了

久远的问题了,现在不玩lisp了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-18 15:46 , Processed in 0.172980 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表