我们有许多Access数据库连接到我们的Oracle数据库,并使用ODBC连接为静态链接表执行各种任务(使用Access' Jet引擎)
当我在Oracle上查询会话时,它们都是针对简单的“MSACCESS.exe”列出的,到目前为止我还没有找到方法来找出会话背后的Access DB从DBA的角度来看。
使用ADODB,我可以针对单个进程/连接使用对Oracle的dbms_application_info包的调用来设置客户端特定的详细信息。
有没有办法为链接表的基础连接设置类似的东西?
如果重要,Access DB是v2010,Oracle DB是10gR1。
答案 0 :(得分:0)
我将查看Oracle docs的ODBC连接字符串。
在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
如果你仔细观察,有一个APP和一个可以由SQL探查器使用的WSID。我没有看过Oracle,但是可以在连接字符串中使用/设置几个“可选”设置。在上面,SQL分析器工具将显示工作站和APP设置。虽然以上是针对SQL Server的,但我猜想Oracle也允许其中一些额外的参数。此外,您可能希望使用一些重新链接代码来设置连接字符串,因此您无需手动配置每个工作站以供应用程序连接。因此,重新启动时重新链接代码是“一次性” - 每次额外启动时,您不必重新链接,也不必使用ODBC字符串允许的附加APP和工作站ID重新设置连接字符串。这些设置在连接方面并没有真正做任何有价值的事情,但它们确实显示在SQL事件探查器中 - 您可以搜索并查看SQL服务器日志,它们将显示应用程序。