当我读取ACCESS里的系统表MSysObjects时,出现:不能读取记录;在 MSysObjects 上没有读取数据权限。的提示,语句是:select name from MSysObjects where type=1 and flags=0,而这个语句是可以直接在ACCESS查询器里使用的,不知为何,网游一翻,找到解决方法,不过还好,按这样的设置后以后这个数据库就可以读取这个表了。
操作过程:
默认的情况是admin对MSysObjects没有任何权限!包括查询
打开您的ACCESS数据库,然后
工具 -> 选项 -> 视图 -> 隐藏对象、系统对象
前面的勾选上。
工具 -> 安全 -> 用户与组的权限
在对象名称中选定 MSysObjects ,然后权限中设置其权限。
OK,现在可以试一试了,以后这个数据库就可以直接读取MSysObjects表了
"注:在 Access 2007, 右击左上角的Office按钮,
1.点击“自定义快速工具栏”,
再点"Access选项"-->"当前数据库"==>"导航",
导航选项-->点击显示隐藏对象,显示系统对象,设为选定。
2.点击"数据库工具"----用户和权限---点击"读取设计,读取数据"。点ok即可
这样就可以找到相应的选项了。
sqlsever连接字符串:User Id=sa;Password=123456;Database=test;Server=192.168.0.1;
sqlite:Data Source=G:\db_sqllite\test.s3db
mysql:server=127.0.0.1;user id=root; Port=3306;password=123456; database=test1227; pooling=false
oracle:Data Source=366SBJH; user id=366SBJH;password=366SBJH
access:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/test.mdb;User ID=Admin;Password=;