OleDb
을 통해 MS Access 데이터베이스 (.mdb)에 연결하려고합니다. 내 질문은 나에게 오류MSysObject 오류에 대한 읽기 권한이 없습니다.
SQL 실행 오류를 가져
SELECT * FROM ListQueries
입니다.
실행 된 SQL 문 : SELECT * FROM ListQueries 오류 원본 : Microsoft JET 데이터베이스 엔진 오류 메시지 : 레코드를 읽을 수 없습니다. 'MSysObjects'에 대한 읽기 권한이 없습니다.
그렇다면 this answer을 시도했지만 도움이되지 않았습니다. 그 다음 나는 또 다른 대답이 이것을하는 것을 보았다.
strDdl = "GRANT SELECT ON MSysObjects TO Admin;"
CurrentProject.Connection.Execute strDdl
구현 방법을 모르겠다. web project
. 당신이
코드는 DB 액세스에은 OleDb 연결에서 실행하는 경우 또는 @HansUp
하여이 제안에 따라이 같은 것을 작성되었으며, 그것은, C#을에서 작동합니다
OleDbConnection con; using (con = new OleDbConnection(Connection.connectionString())) { con.Open(); using (var com = new OleDbCommand("GRANT SELECT ON MSysObjects TO Admin", con)) { com.ExecuteNonQuery(); } using (var com = new OleDbCommand("Select * from ListQueries", con)) { using (var dr = com.ExecuteReader()) { while (dr.Read()) { qryList.Add(SQLReaderExtensions.SafeGetString(dr, "Name")); } dr.Close(); } } con.Close(); }
첫 번째
com.ExecuteNonQuery()
은 나에게이 오류를 제공합니다.Microsoft Jet 엔진 작업 그룹 정보 파일을 열 수 없습니다.
나는에 대한 OleDb 호출 권한을 부여하는 방법을 알고 싶습니다. . 어떤 제안 멋진
P.S 될 것입니다 : BTW, 내가 강력하게 당신이 MS 액세스 시스템 개체를 사용하지 않는 것이 좋습니다 MS 액세스 2010
난 강력하게 당신이 MS 액세스 시스템 개체를 사용하지 않는 것이 좋습니다. 정보를 얻는 다른 좋은 방법이 있습니다. 너 정확히 뭘 하려구? – Fionnuala
@Remou : MS-Access의 쿼리는 SQL의 Views와 비슷합니다. 대부분 IMHO입니다. – naveen
ADO (http://msdn.microsoft.com/en-us/library/kcax58fh(VS.80).aspx)와 DAO 중에서 선택할 수 있습니다. 어느 걸 더 선호하십니까? ADO에는 작업 쿼리와 선택 쿼리간에 차이점이 있습니다. – Fionnuala