麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

PetaPoco利用ODP.NETManagedDriver連接Oracle

2019-11-14 13:40:36
字體:
來源:轉載
供稿:網友

大概幾年之前用PetaPoco做過一個Oracle的項目,開發的時候還需要安裝oracle的client,非常麻煩。調試好環境后,一直到項目結束都不敢重裝系統。最近又有一個需求需要讀取oracle,可是環境已經沒了……

再重新配置吧,先使用nuget下載安裝了PetaPoco,沒想到最新的版本變動比較大,貌似缺少幾個類,時間緊急沒時間折騰了,于是下載了一個舊版5.0.1。但是實在不想安裝oracle client那么肥的東西,就想使用Oracle.Dataaccess.dll來直接訪問。

在App.config文件里添加數據庫字符串:

<connectionStrings>

<add name="MyDbContext"

connectionString="Data Source=(DESCRIPTION=

(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521)))

(CONNECT_DATA=(SERVICE_NAME=ORCL)));

User Id=scott;PassWord=xxx;"

providerName="Oracle.DataAccess.Client"                />

</connectionStrings>

 

修改T4模板Database.tt的以下幾個地方:

ConnectionStringName = "MyDbContext";            // Uses last connection string in config if not specified

Namespace = "Domain.Models";

RepoName = "MyDbContext";

 

保存,毫無疑問的報錯了:

// -----------------------------------------------------------------------------------------

// Failed to load provider `Oracle.DataAccess.Client` - 找不到請求的 .Net Framework Data Provider。可能沒有安裝。

// -----------------------------------------------------------------------------------------

 

肯定還是驅動沒裝好,在搜索解決辦法的時候,找到這兩篇文章:

.NET Oracle Developer的福音——ODP.NET Managed正式推出

 

OracleODP.NET Managed 小試牛刀

 

原來Oracle已經推出了可托管的驅動,而且不區分32位還是64位了,這樣應該就更方便了。Oracle官網上的下載簡直要惡心死人。于是按照說明從nuget里搜索odp.net.managed:

安裝后修改數據庫連接字符串的provider:

providerName="Oracle.ManagedDataAccess.Client"

 

又報錯了,還是相同的錯誤,找不到Oracle.ManagedDataAccess.Client這個驅動:

// -----------------------------------------------------------------------------------------

// Failed to load provider `Oracle.ManagedDataAccess.Client` - 找不到請求的 .Net Framework Data Provider。可能沒有安裝。

// -----------------------------------------------------------------------------------------

 

看來直接安裝nuget還是不行啊,還是得老老實實上官網下,找到這個頁面:

http://www.oracle.com/technetwork/database/windows/downloads/utilsoft-087491.html

一堆啊!!!下哪個啊???

我下的是這個:

解壓縮之后里面有幾個文件夾和dll,dll我們已經通過nuget安裝了就不管了,里面有一個install_odpm.bat,看來是得安裝一下了。直接運行,刷一下就沒了,再運行還是刷一下就沒了。

那就先開cmd吧。運行cmd找到這個bat,運行一下:

原來是不能直接運行的,還要加參數。按照第三種方式運行,又報錯了:

看來需要啟用管理員權限,使用管理員模式運行cmd,終于可以成功了。

打開這個bat可以看到其實就是copy了幾個文件到系統目錄,自動添加了tnsnames.ora這些文件。

再運行一下Database.tt,這次就報其他的錯了:

// -----------------------------------------------------------------------------------------

// Failed to read database schema - ' user id' 是無效的連接字符串屬性

// -----------------------------------------------------------------------------------------

 

看來驅動已經正常加載上了。那為什么報這個錯呢?

找了半天原因,原來是數據庫連接字符串不能有換行!否則PetaPoco的T4模板就讀不到了……

 

還有,oracle官網最新的版本已經是12.1.0.2.4了,nuget上的版本貌似還沒更新。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲骚综合 | 成人福利免费在线观看 | 成人免费一区二区三区在线观看 | 国产精品剧情一区二区三区 | 国产亚洲精品成人 | 黄色网址入口 | 亚洲欧美日韩久久精品第一区 | 亚洲免费永久 | 国产精品亚洲综合 | 日本精品黄色 | 成人毛片网站 | av电影网站在线 | 主人在调教室性调教女仆游戏 | 成人青青草 | 日本爽快片100色毛片视频 | 精品国产一区二区三区四区阿崩 | 黄色国产在线观看 | 国产91对白叫床清晰播放 | 九九热在线视频观看 | 免费在线观看毛片视频 | 激情久久免费视频 | 激情久久免费视频 | 女人解衣喂奶电影 | 亚洲一区二区中文字幕在线观看 | 欧美综合在线观看 | 一级免费黄色免费片 | 日日操夜夜透 | 欧美一级在线免费 | av色在线观看 | 亚洲热线99精品视频 | 中文字幕在线观看91 | 久久精品操 | av电影免费在线 | 粉嫩av一区二区三区四区在线观看 | 国产视频导航 | 欧美成人精品不卡视频在线观看 | 蜜桃麻豆视频 | 日韩视频二区 | 成品片a免费直接观看 | 久久艹逼| 毛片免费视频播放 |