Oracle.ManagedDataAccessDTC.dll加載不正確。

在2個星期前,用vs2013 +oracle11g開發一個cs的工具時,遇到這麼個錯誤。簡述一下項目情況:

vs2013 framework4.5 +oracle 11g +EF5

錯誤情況:

試圖加載Oracle.ManagedDataAccessDTC.dll不正確····具體的忘記了。大概就這麼個情況,就是說這個dll加載錯誤。

因爲項目oracle的連接用的是Oracle.ManagedDataAccess.Client,程序運行時需要調用Oracle.ManagedDataAccessDTC,但是這個程序集官方說是不需要顯示調用,即不用在程序裏面調用,程序運行時自動調用。在網上查了下,說是要把Oracle.ManagedDataAccessDTC放到程序運行目錄下,於是放到relase目錄後問題依舊存在。仔細查看報錯的地方,發現是實體的個別屬性值改變(update)之後,保存到數據庫時(savechange),報的錯誤。斷斷續續折騰兩天後,找到了原因。

程序發佈平臺是x86,然而我放進去Oracle.ManagedDataAccessDTC.dll是64位的,要說我怎麼知道是64還是32?絕招是看文件大小:32的是59kb,64的是68kb。這是我唯一能區分的辦法。在準確些就是右鍵》屬性 去看文件“佔用空間”,這個準確些。
於是去:
這裏寫圖片描述
將這個路徑下x86裏面的Oracle.ManagedDataAccessDTC.dll替換掉relase的文件,再次運行,保存成功!!

當然ef要生成Oracle數據庫的模型需要去安裝Oracle Developer Tools for VS2013,安裝了這個,纔會有以上的目錄。
另給出Oracle Developer Tools for VS2013地址:Oracle官網ODT2013
解決了您的問題點個讚唄!(≥0.0≤)P

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章