我正在实现查找sql server日志的程序。从here和here我得到sql server错误日志存储在" Software \ Microsoft \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQLServer \ Parameters"这条道路。
我尝试使用此路径实现代码,但它在输出中出现错误" RegOpenKeyEx失败,错误代码5"
这是我的代码有什么问题吗?
int _tmain(int argc, _TCHAR* argv[])
{
HKEY hKey;
LONG dwRegOPenKey = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Microsoft SQL Server\\MSSQL10.SQLEXPRESS\\MSSQLServer\\Parameters"), 0, KEY_READ, &hKey);
// ahiya DS-Client ni service malse LONG dwRegOPenKey = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Services\\DS-Client\Parameters\\"), 0, KEY_READ, &hKey);
if(dwRegOPenKey == ERROR_SUCCESS){
printf("RegOpenKeyEx succeeded, error code %d\n", GetLastError());
QueryKey(hKey);
} else {
printf("RegOpenKeyEx failed, error code %d\n", dwRegOPenKey);
}
RegCloseKey(hKey);
system("pause");
return 0;
}
答案 0 :(得分:1)
您的访问被拒绝'错误。
使用regedit,查看" 软件\ Microsoft \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQLServer \ Parameters "的权限。键。在我的系统上,您需要具有“参数”的管理员权限。关键是'用户'但是没有权限查看密钥,用户'有权查看父MSSQLSERVER密钥。
因此我建议这是安装默认设置。
您需要以管理员权限运行才能查看参数。