2017-10-05 29 views
-1

我们正在开发一个java 8独立项目,我们需要从另一个应用程序(.exe)提取查询日志,我们使用ODBC跟踪来获取日志(每次运行手动),但现在我们需要自动获取它们(其他应用程序根据我们在执行过程中编辑的.txt查询变量)。如何在不使用数据源管理员的情况下启动ODBC跟踪?

我们需要知道是否有方法使用java代码或运行时代码(使用cmd)启动odbc跟踪。我们有什么样的替代方案?

回答

1

在注册表中设置Trace键值应该开始跟踪。确保在不需要时将其关闭。这是一个PowerShell脚本来做到这一点。

Push-Location 
Set-Location HKCU:\Software\ODBC\ODBC.INI\ODBC 
Set-ItemProperty . Trace "1" 
# Set-ItemProperty . TraceDll "C:\WINDOWS\system32\odbctrac.dll" 
# Set-ItemProperty . TraceFile "$Env:USERPROFILE\SQL.LOG" 
Pop-Location 

如果它必须从cmd.exe shell运行,请将脚本放入traceon.ps1并使用以下命令。如果您已经将计算机配置为可以运行PowerShell脚本,则不需要-ExecutionPolicy Bypass

powershell -NoProfile -ExecutionPolicy Bypass -File traceon.ps1 
相关问题