关于金蝶K3的Access数据库带工作组模式连接问题

enterFool 2011-01-12 09:54:53
最近在做一个金蝶K/3的二次开发,需要读取客户帐套列表信息,K/3 WISE的帐套信息是放在Access数据库里,工作组模式,数据库文件是Acctctl.dat,工作组文件应该是offline.mdw,登录用户名和密码是morningstar,ypbwkfyjhyhgzj.

我现在写的程序可以连接上这个数据库,但是访问表的时候提示:不能读取记录;在 't_ad_kdaccount_gl' 上没有读取数据权限。可是如果我用access2007直接打开这个Acctctl.dat,用这个用户名和密码是可以有修改和读取权限的。

我觉得问题应该在连接字符串上,贴上连接字符串如下:

Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=D:\\Program Files\\Kingdee\\K3ERP\\KDSYSTEM\\KDCOM\\AcctCtl.dat;Jet OLEDB:
System Database=D:\\Program Files\\Kingdee\\K3ERP\\KDSYSTEM\\KDCOM\\offline.mdw;
User ID=morningstar;Password=ypbwkfyjhyhgzj

请高手看看,问题是出在这里吗。
...全文
587 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
点点半桶水 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 enterfool 的回复:]

换了你给的用户名和密码 果然搞定 万分感谢。
不过我前面的那套用户名和密码 用快捷方式的形式打开后的确可以进行编辑操作。这又是为什么。
快捷方式的目标是这样的:
"D:\Program Files\Microsoft Office\Office12\MSACCESS.EXE" "D:\Program Files\Kingdee\K3ERP\KDSYSTEM\KDCOM\AcctCtl.da……
[/Quote]

换了用户密码,读数据还是没有读取权限。请问,你是如何作到的,发一份代码给我如何?wwzh81@21cn.com谢谢!!!
enterFool 2011-01-12
  • 打赏
  • 举报
回复
问题解决。为了表示感谢,多加60分,100分送你。解决了我的大问题。哈哈。
enterFool 2011-01-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wwwwa 的回复:]
表没有所有者->很多表没有所有者
t_ad_kdaccount_gl的所有者为管理员
[/Quote]

默认是都没有的 t_ad_kdaccount_gl的所有者都是我自己测试的时候加上去的
enterFool 2011-01-12
  • 打赏
  • 举报
回复
换了你给的用户名和密码 果然搞定 万分感谢。
不过我前面的那套用户名和密码 用快捷方式的形式打开后的确可以进行编辑操作。这又是为什么。
快捷方式的目标是这样的:
"D:\Program Files\Microsoft Office\Office12\MSACCESS.EXE" "D:\Program Files\Kingdee\K3ERP\KDSYSTEM\KDCOM\AcctCtl.dat" /WRKGRP "D:\Program Files\Kingdee\K3ERP\KDSYSTEM\KDCOM\AcctCtl.dat"

奇了怪了~~
WWWWA 2011-01-12
  • 打赏
  • 举报
回复
表没有所有者->很多表没有所有者
t_ad_kdaccount_gl的所有者为管理员
WWWWA 2011-01-12
  • 打赏
  • 举报
回复
要访问 t_ad_kdaccount_gl,必须用
admin
j4gLCdaJ7uYJW
才行,表没有所有者
WWWWA 2011-01-12
  • 打赏
  • 举报
回复
Dim dd As ADODB.Connection
Dim rs As ADODB.Recordset
rt = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=r:\temp\AcctCtl.dat;User ID=morningstar;Password=ypbwkfyjhyhgzj;Jet OLEDB:Database Password='';Jet OLEDB:System database=r:\temp\Offline.mdw"
dd.Open rt
rs.Open "select * from t_ad_kdaccount_gl", dd
Do While Not rs.EOF
MsgBox rs(0)
rs.MoveNext
Loop

2、

l:\off\Office\MSAccess.Exe "r:\temp\AcctCtl.dat" /wrkgrp "r:\temp\Offline.mdw"
进行ACCESS,试图打开t_ad_kdaccount_gl,提示没有权限,导出也没有权限,不知道你怎么能操作
enterFool 2011-01-12
  • 打赏
  • 举报
回复
已传,多谢帮忙。
WWWWA 2011-01-12
  • 打赏
  • 举报
回复
如果可以的话,
上传你的MDB到www.access911.net/csdn
只要有问题的表、查询,用WINRAR压缩
enterFool 2011-01-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wwwwa 的回复:]
你用2007打开此MDB,是否提示用输入用户名、密码,你是怎样打开的
[/Quote]

是的 第一次打开时不提示登录框,所以只能看到有些什么表,但读不了里面的数据,后来在网上搜了一下,换了种打开模式,用access的快捷方式带参数的方式打开时会出现一个登录框,输入上面写的用户名和密码就OK。
WWWWA 2011-01-12
  • 打赏
  • 举报
回复
你用2007打开此MDB,是否提示用输入用户名、密码,你是怎样打开的
enterFool 2011-01-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wwwwa 的回复:]
ADO连接MDB,SQL语句是什么


我用这个用户名和密码直接打开Acctctl.dat是可以进行数据操作和保存的。
进行什么操作
[/Quote]

SQL语句:select * from t_ad_kdaccount_gl
登录后可以查看数据和修改其中一个字段的值,并保存
WWWWA 2011-01-12
  • 打赏
  • 举报
回复
ADO连接MDB,SQL语句是什么


我用这个用户名和密码直接打开Acctctl.dat是可以进行数据操作和保存的。
进行什么操作
enterFool 2011-01-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwa 的回复:]
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\ZZ\db\sjch.mdb;User ID=ylw;Password=lwgzsylw;Jet OLEDB:Database Password='';Jet OLEDB:System database=d:\ZZ\db\sjch.mdw

字串没有问题,估计在用户上,用PASSWORD可以获得用……
[/Quote]

用户也没问题,我用这个用户名和密码直接打开Acctctl.dat是可以进行数据操作和保存的。
WWWWA 2011-01-12
  • 打赏
  • 举报
回复
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\ZZ\db\sjch.mdb;User ID=ylw;Password=lwgzsylw;Jet OLEDB:Database Password='';Jet OLEDB:System database=d:\ZZ\db\sjch.mdw

字串没有问题,估计在用户上,用PASSWORD可以获得用户名、密码

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧