Microsoft.ACE.OLEDB.12.0コマンドオブジェクトを使用してMSAccessの名前付きクエリを実行するための構文を探しています。
テーブルを使用した例はたくさんありますが、クエリはまだ使用していません。テーブル名をクエリ名に交換しても機能しないようです。つまり、「myquery」から*を選択します
これが私のコードスニペットです:
$OleDbConn = New-Object "System.Data.OleDb.OleDbConnection";
$OleDbCmd = New-Object "System.Data.OleDb.OleDbCommand";
$OleDbAdapter = New-Object "System.Data.OleDb.OleDbDataAdapter";
$DataTable = New-Object "System.Data.DataTable";
$OleDbConn.Open();
$OleDbCmd.Connection = $OleDbConn;
$OleDbCmd.CommandText = "'myQuery'"; # name query in MS Access db
$OleDbCmd.CommandType = [System.Data.CommandType]::StoredProcedure;
$OleDbAdapter.SelectCommand = $OleDbCmd;
$RowsReturned = $OleDbAdapter.Fill($DataTable);
Write-Host $RowsReturned;
エラー:「1」引数を指定して「Fill」を呼び出す際の例外:「MicrosoftAccessデータベースエンジンが入力テーブルを見つけられないか、「ラボマニュアル」をクエリできません。存在し、名前のスペルが正しいことを確認してください。」