2015-05-12 131 views
3

我们有一个连接到许多访问数据块,并使用静态链接表(使用Access'喷气发动机)的ODBC连接Oracle会话信息

当我询问我们的Oracle数据块各地执行各种任务在Oracle会话中,它们全部是针对'MSACCESS.exe'列出的,到目前为止,我还没有找到从DBA的角度找出会话背后的Access DB的方法。

使用ADODB,对于单独的进程/连接,我可以使用对Oracle的dbms_application_info包的调用来设置客户端特定的详细信息。

有什么办法可以为链接表设置底层连接做类似的事情吗?

如果重要,Access DB是v2010,Oracle DB是10gR1。

+0

ODBC非常通用,因此您可能会错过更具体的功能 –

+0

您是否考虑过在[当前会话]中使用[SQL跟踪文件](http://www.orafaq.com/node/14) (https://blogs.oracle.com/sysdba/entry/how_to_identify_trace_file_in)? – Parfait

回答

0

我会看看一个ODBC连接字符串的Oracle文档。

在Access中,我使用此代码为链接表创建连接字符串。

Public Function dbCon(ServerName As String, _ 
        DataBaseName As String, _ 
        Optional UserID As String, _ 
        Optional USERpw As String, _ 
        Optional APP As String = "InvocieProgram", _ 
        Optional WSID As String = "RobertPC") As String 

' returns a SQL server conneciton string 

dbCon = "ODBC;DRIVER=" & SQLDRIVER & ";" & _ 
     "SERVER=" & ServerName & ";" & _ 
     "DATABASE=" & DataBaseName & ";" 
     If UserID <> "" Then 
      dbCon = dbCon & "UID=" & UserID & ";" & "PWD=" & USERpw & ";" 
     End If 
     dbCon = dbCon & _ 
     "APP=" & APP & ";" & _ 
     "WSID=" & WSID & ";" & _ 
     "Network=DBMSSOCN" 

End Function 

如果看起来很近,那么应用程序和WSID都可以被SQL分析器使用。我没有看Oracle,但可能有几个“可选”设置可以在连接字符串中使用/设置。如上所述,那么SQL分析器工具将显示工作站和APP设置。虽然以上是针对SQL Server的,但我猜想Oracle也允许其中一些额外的参数。此外,您可能希望使用一些重新链接代码来设置连接字符串,因此您不必手动配置每个工作站以便应用程序进行连接。因此,重新链接代码在启动时是“一次” - 每次额外的启动都不必重新链接,也不需要重新设置连接字符串与ODBC字符串允许的附加APP和工作站ID。这些设置在连接方面并没有真正做任何有价值的事情,但它们确实出现在SQL事件探查器中 - 因此您可以搜索并查看SQL Server日志,并且它们将显示应用程序。