2015-05-12 181 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日誌,並且它們將顯示應用程序。