나는 UNCWindows 서비스 및 UNC
private static void InsertData(string sql)
{
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
@"Data source=\\svr\Users\XXXX\XXXXX\db.accdb";
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();
WriteToFile("Data saved successfuly...!");
}
catch (Exception ex)
{
WriteToFile("Failed due to: " + ex.Message);
}
finally
{
conn.Close();
}
}
에 위치하는 MS 액세스를 데이터베이스에 연결하는 내 Windows 서비스를 얻으려고 노력 오전에 MS 액세스 이것은 내가 를 얻을 오류 "마이크로 소프트 액세스 데이터베이스입니다 엔진은 '\ svr \ Users \ XXXX \ XXXXX \ db.accdb'파일을 열거 나 쓸 수 없습니다. 이미 다른 사용자가 독점적으로 열었거나 데이터를보고 쓰는 데 필요한 권한이 필요합니다. "
사용 권한은 도메인 사용자로 설정되고 읽고 쓰고 수정됩니다. 데이터베이스는 누구에게도 열려 있지 않습니다.
콘솔 앱에서 정확한 코드를 시도했지만 정상적으로 작동합니다. 아이디어가 있으십니까?
UNC 경로를 네트워크 드라이브 문자에 매핑하면 작동합니까? db가 위치한 디렉토리에서도 읽기/쓰기 권한이 있습니까? – tukan
서비스에서 드라이브 문자를 사용해 보았는데 "X : \ xxxx.xxxx가 올바른 경로가 아닙니다."경로 이름의 철자가 올바른지, 파일이있는 서버에 연결되어 있는지 확인하십시오 상주합니다. " 드라이브에 대한 사용 권한도 있습니다. – James