use*_*782 1 java ms-access ms-access-2007 jakarta-ee
我想在我的项目中使用 MS Access。我尝试与这段代码集成。
rs = st.executeQuery("SELECT name FROM MSysObjects where database <> ''");
Run Code Online (Sandbox Code Playgroud)
通过使用它,我尝试从 中获取所有表名MSysObjects。但我收到一个错误:
java.sql.SQLException:[Microsoft][ODBC Microsoft Access Driver] 无法读取记录;没有“MSysObjects”的读取权限。
请帮我解决这个错误。
授予管理员用户 read( SELECT) 权限MSysObjects。
在 Access 会话中,打开立即窗口 ( Ctrl+ g),构造 DDLGRANT语句并从CurrentProject.Connection
strDdl = "GRANT SELECT ON MSysObjects TO Admin;"
CurrentProject.Connection.Execute strDdl
Run Code Online (Sandbox Code Playgroud)
请注意,该语句必须从 ADO 执行。它应该像编写的那样工作,因为它CurrentProject.Connection是一个 ADO 对象。Execute但是,如果尝试使用 DAO方法(例如CurrentDb.Execute或从 Access 查询设计器运行时),它将失败。
| 归档时间: |
|
| 查看次数: |
3793 次 |
| 最近记录: |