- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要获取数百个 MS Access DB 的元数据,因此我需要自动化元数据收集过程。
我想查询描述的内容 here ,但在查询数据库之前,我需要对 MSysObjects
进行读取 Access 表。
我不断收到以下错误:
Record(s) cannot be read; no read permission on 'MsysObjects'.
$ScrUsr = $(whoami)
Write-Host $ScrUsr
$cmd = "GRANT SELECT ON MSysObjects TO [$ScrUsr]"
Write-Host $cmd
Function Invoke-ADOCommand($Db)
{
$connection = New-Object -ComObject ADODB.Connection
$connection.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=$db;" )
$command = New-Object -ComObject ADODB.Command
$command.ActiveConnection = $connection
$command.CommandText = $cmd
$rs = $command.Execute()
$connection.Close()
}
$Db = "C:\Temp\test1.accdb"
Invoke-ADOCommand -db $Db
Cannot open the Microsoft Office Access database engine workgroup information file.
MSysObjects
的读取权限?
最佳答案
您必须解决两个问题:
GRANT
除了“Admin”以外的任何帐户的任何内容。 Debug.Print Application.DBEngine.SystemDb
$Db
和
$SystemDb
。)
$ScrUsr = $(whoami)
Write-Host $ScrUsr
$cmd = "GRANT SELECT ON MSysObjects TO Admin;"
Write-Host $cmd
Function Invoke-ADOCommand($Db, $SystemDb)
{
$connection = New-Object -ComObject ADODB.Connection
$ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=$db;Jet OLEDB:System database=$SystemDb;"
Write-Host $ConnectionString
$connection.Open($ConnectionString)
$discard = $connection.Execute($cmd)
$connection.Close()
}
$Db = "C:\Users\hans\AccessApps\Sample.accdb"
$SystemDb = "C:\Users\hans\AppData\Roaming\Microsoft\Access\System1.mdw"
Invoke-ADOCommand -db $Db -SystemDb $SystemDb
关于powershell - 授予 MSysObjects 的读取权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32843563/
我需要获取数百个 MS Access DB 的元数据,因此我需要自动化元数据收集过程。 我想查询描述的内容 here ,但在查询数据库之前,我需要对 MSysObjects 进行读取 Access 表
我正在尝试使用 Excel VBA 从 Access 2007 ACCDB 格式数据库获取所有表的列表。 我关注了这篇文章: How can I get table names from an MS
我想在我的项目中使用 MS Access。我尝试与此代码集成。 rs = st.executeQuery("SELECT name FROM MSysObjects where database <>
我正在尝试通过 OleDb 连接到 MS Access 数据库 (.mdb)。我的查询是 SELECT * FROM ListQueries 这给我带来了错误 SQL Execution Error.
我有一个包含约 500 个表的 Access 数据库,所有表中总共有约 16,000 行。我想统计“datecreated”字段在 2019 年 1 月 1 日之前的行数。 我试图通过查询 MsysO
我正在尝试使用 pyodbc Access Access 数据库 (.mdb)。 我可以很好地连接到它— connection = pyodbc.connect(driver='{Microsoft
我继承了一个 Access 应用程序,我对其进行了一些更改。当我启动它时,我收到几个错误,这些错误似乎是指到旧表或查询。目前没有真正属于应用程序的部分是错误的。 消息如下: The record so
如标题所述:我试图从 Access 2010 数据库中的 MSysObjects 中读取数据,但出现异常,告诉我不允许从该表中读取数据。 我可以读出其他非 MSys 表。 SQL Query I am
我正在查询表 MsysObjects 以生成数据库中的对象列表: SELECT MsysObjects.Name, MsysObjects.Type FROM MsysObjects WHERE ((
我是一名优秀的程序员,十分优秀!