oracle我用的10g,下載用戶端安裝之後發現幾個問題,記錄如下:
支援windows7
oracle10g用戶端只支援到6.0版本的Windows,不支援windows 7,需要做如下設定:
解壓後修改client/install/oraparam.ini檔案
[Certified Versions]
#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
Windows=5.0,5.1,5.2,6.0,6.1 (在window後面添加 6.1)
在 [Windows-6.0-optional] 後面添加如下選項:
[Windows-6.0-optional]
[Windows-6.1-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300
[Windows-6.1-optional]
分別修改如下檔案
client/stage/prereq/client/refhost.xml
client/stage/prereq/client_prereqs/client/refhost.xml
<!-- Microsoft Windows Vista -->
<OPERATING_SYSTEM>
<VERSION VALUE="6.0" />
</OPERATING_SYSTEM>
後面添加如下選項:
<!--Microsoft Windows 7-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>
注意有可能有多個refhost.xml檔案,都需要修改,32位的用戶端可能不需要修改oraparam.ini。
連接字串
nhibernate串連oracle的connection_string可以如下書寫:
<item key="connection.connection_string">Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=伺服器位址)(PORT=連接埠)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=資料庫SID)));user id=使用者名稱;password=密碼;</item>
32位64位調試環境
我的開發環境是windows7 64位,項目設定為x86和x64兩種,在ide中運行test會提示32位代碼調用64位庫的錯誤,檢查發現我撞了64位的oracle用戶端,卸載掉,裝32位的即可。
安裝目錄許可權
安裝最小版本oracle用戶端組件後,運行測試類別,提示:嘗試讀取或寫入受保護的記憶體。這通常指示其他記憶體已損壞。經檢查應該是許可權問題,給oracle用戶端目錄加上認證使用者完全控制許可權解決。原因暫時未知。