2008-12-03 113 views
1

我有一個使用Oracle.DataAccess進行連接的應用程序。我已經發現,通過在xcopy部署中使用ODAC 11,可以減少佔用空間。這已經是一個巨大的勝利。是否可以使用ODP 11 xcopy部署而不更改PATH?

理想情況下,我們希望不必更改任何路徑變量,並將所有ODAC文件放在應用程序文件夾下的子目錄中。是否可以在不更改PATH變量的情況下執行此操作?有沒有辦法設置一個臨時PATH變量?我們能否將所有必需的文件複製到應用程序文件夾?

總的想法是,我們希望儘可能地將我們的ODAC文件與可能在同一客戶端上運行的其他應用程序隔離開來。

回答

3

As Marksuggested,您可以隨時讓您的應用程序更改當前進程的環境變量。請注意,顯然,在進行任何ODP .NET調用之前您必須執行此操作。

另外請注意,如果你只需要純ODP .NET功能,我指的是你專門不需要:

如果您在這種情況下,您只能與您的應用程序分發Oracle Instant Client。有關更多詳細信息,請參閱this question

+0

非常感謝這個評論。事實證明,我們的應用程序確實需要第三方組件的ODBC連接。我對ODBC非常無知。是否有一個由MS提供的Oracle供應商?你是否有任何關於它如何執行的經驗? – 2009-04-09 15:00:15

2

更改環境變量是一個甜頭,但僅僅爲了學術的完整性,我認爲embedding assembly resolving實際上是解決這個問題的「正確」方法,即使它是更多的代碼。

0

正如前面提到的,this StackOverflow問題是關於如何實現您的目標。 This答案是相當不錯的。我評論了答案,我能夠使用Easy Connect連接字符串,並通過將Instant Client Lite DLL和Oracle.DataAccess.dll複製到生產環境中的應用程序文件夾,在我的生產機器和開發機器上使用相同的二進制文件機。在我的開發機器上,我安裝了完整的Oracle客戶端。這樣就沒有必要修改路徑語句了。

相關問題