C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: 大至急 ODP.NETでDbcontextに取得したい


(過去ログ 132 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■77982 / inTopicNo.1)  大至急 ODP.NETでDbcontextに取得したい
  
□投稿者/ C#好き (1回)-(2015/12/06(Sun) 10:36:02)

分類:[.NET 全般] 

お世話になります。

Microsoft Visual Studio Express 2013 for Web Version 12.0.40629.00 Update 5
Oracle 11g
会社:win7
自宅:win8(調査)

上記環境下でASP.NET Webアプリケーション(MVC3)を開発中です。
Oracle環境が整うまでSqlserverExpressで接続からview描画までのベース部分を作成しておりました。
そこではEntityFrameworkのDbContextを使用して、とても便利にさくさく実装&疎通確認まで出来安心しておりました。

Oracle基盤が完成したらopd.netのOracle.DataAccess.dllを参照設定に追加し、
web.configのconnectionStringをOracle用に切り替えれば良いかなあと安易に考えておりましたら、
接続すら出来ません。

ODP.NETはSystem.Data.EntityのDbContextは未対応なのでしょうか?

出来ればもう組んであるので、DbContextを使用したOracleデータ制御を実現したいです。

実装と今現在怒られてるエラーを以下に記します。

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【実装】
--------------------------
↓web.config
--------------------------
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="testcn" connectionString="Data Source=DB名;User Id=ユーザー;Password=パスワード" providerName="Oracle.DataAccess.Client"/>
</connectionStrings>

--------------------------
↓XXXContextクラス
--------------------------
using System.Data.Entity;
using XXX.Models;
using Oracle.DataAccess.Client;
using System.Configuration;
namespace XXX.DAL
{
public class XXXContext : DbContext
{
public DbSet<サンプル> サンプル { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<サンプル>().ToTable("サンプル");
}

public XXXContext()
: base(new OracleConnection(ConfigurationManager.ConnectionStrings["testcn"].ConnectionString), true) { }
}
}


cshtmlでrazor構文で
@model IEnumerable<XXX.Models.サンプル>

省略

@foreach (var item in Model) ← ここでエラー?



【エラー】
型 'System.Data.ProviderIncompatibleException' の例外が System.Data.Entity.dll で発生しましたが、ユーザー コード内ではハンドルされませんでした
追加情報:型 'Oracle.DataAccess.Client.OracleConnection' のストア プロバイダー インスタンスで 'get_ProviderFactory' メソッドを呼び出した後に NULL が返されました。ストア プロバイダーが正しく機能していない可能性があります。
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

get_ProviderFactoryにOracleプロバイダーをセットしてあげれてないのが原因なのでしょうか・・・?
どうせっとしたら良いかネットで調べているのですが、うまいこと見つけられません・・・

二日くらいどっぷりこれにはまっております。

明日月曜出社までには解決させねばならなく、泣きが入っております。
どうか大至急、情報をお願い致します。


引用返信 編集キー/
■77983 / inTopicNo.2)  Re[1]: 大至急 ODP.NETでDbcontextに取得したい
□投稿者/ もりお (3回)-(2015/12/06(Sun) 14:00:58)
No77982 (C#好き さん) に返信
> 明日月曜出社までには解決させねばならなく、泣きが入っております。
大変ですね。

>'System.Data.ProviderIncompatibleException'
プロバイダーに互換性がありませんよと。

>ストア プロバイダーが正しく機能していない可能性があります
ストア プロバイダーが機能していませんよと。

DbContextってたしかEntity Frameworkで使用するクラスですよね。
ODP.NETのバージョンがEntity Frameworkに対応していないものなのじゃないかしら?
引用返信 編集キー/
■77984 / inTopicNo.3)  Re[2]: 大至急 ODP.NETでDbcontextに取得したい
□投稿者/ C#好き (2回)-(2015/12/06(Sun) 14:19:24)
No77983 (もりお さん) に返信
> ■No77982 (C#好き さん) に返信
>>明日月曜出社までには解決させねばならなく、泣きが入っております。
> 大変ですね。
>
> >'System.Data.ProviderIncompatibleException'
> プロバイダーに互換性がありませんよと。
>
> >ストア プロバイダーが正しく機能していない可能性があります
> ストア プロバイダーが機能していませんよと。
>
> DbContextってたしかEntity Frameworkで使用するクラスですよね。
> ODP.NETのバージョンがEntity Frameworkに対応していないものなのじゃないかしら?

回答ありがとうございます。
やはりそうでしたか・・・。
あきらめつつもODP.NET with Entity Frameworkが登場との記事を発見し
近しい操作が出来るのかなあと思っておりました。
↓その記事です。
http://blogs.wankuma.com/hatsune/archive/2010/06/22/190448.aspx

やはりごりごり書いてデータ操作をしなければならないのでしょうか。。。?
便利なものは全てSqlserverなのが悲しいです。

何かスマートな書き方がありましたらご教授ください。<(_)>
引用返信 編集キー/
■77986 / inTopicNo.4)  Re[1]: 大至急 ODP.NETでDbcontextに取得したい
□投稿者/ WebSurfer (728回)-(2015/12/06(Sun) 14:41:31)
No77982 (C#好き さん) に返信

Oracle Data Access Components (ODAC) 12c Release 3 (12.1.0.2.1) 以降なら
EF Code First を使っての開発をサポートしているようです。

Entity Framework Code First and Code First Migrations for Oracle Database
http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/CodeFirst/index.html#overview

Visual Studio での開発には ODP.NET だけでなく ODT for Visual Studio(ODAC
に含まれている)も必要になるはずです・・・が、質問者さんが使っている
Express 版にも対応しているかどうかは分かりません。
引用返信 編集キー/
■77987 / inTopicNo.5)  Re[2]: 大至急 ODP.NETでDbcontextに取得したい
□投稿者/ C#好き (3回)-(2015/12/06(Sun) 14:55:23)
No77986 (WebSurfer さん) に返信
> ■No77982 (C#好き さん) に返信
>
> Oracle Data Access Components (ODAC) 12c Release 3 (12.1.0.2.1) 以降なら
> EF Code First を使っての開発をサポートしているようです。
>
> Entity Framework Code First and Code First Migrations for Oracle Database
> http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/CodeFirst/index.html#overview
>
> Visual Studio での開発には ODP.NET だけでなく ODT for Visual Studio(ODAC
> に含まれている)も必要になるはずです・・・が、質問者さんが使っている
> Express 版にも対応しているかどうかは分かりません。

回答ありがとうございます。
仰せの通り、Expressには未対応のようでした。
インストール途中で「VisualStudioをインストールして下さい」と促されましたので、
はなからExpressは対象としていないのでしょう。
現場の開発環境もExpressですので、無理だと思います。
地道にOracleConnection、DataAdapterなりDataSetの世界なのでしょうか・・・とほほ(´;ω;`)ウッ…

引用返信 編集キー/
■77989 / inTopicNo.6)  Re[3]: 大至急 ODP.NETでDbcontextに取得したい
□投稿者/ WebSurfer (729回)-(2015/12/06(Sun) 15:37:42)
No77987 (C#好き さん) に返信

> 仰せの通り、Expressには未対応のようでした。

15 分も経たずにそういう返事が帰ってくるということは、私のレスの内容はすでに
知っていて、一応やってみて結果は分かっていたように見えますが、違います?

知っていたのであれば、知っていることは先に書いておいていただければ私は無駄
なレスはしなくてすんだのですが・・・

引用返信 編集キー/
■77991 / inTopicNo.7)  Re[4]: 大至急 ODP.NETでDbcontextに取得したい
□投稿者/ C#好き (4回)-(2015/12/06(Sun) 16:07:12)
No77989 (WebSurfer さん) に返信
> ■No77987 (C#好き さん) に返信
>
>>仰せの通り、Expressには未対応のようでした。
>
> 15 分も経たずにそういう返事が帰ってくるということは、私のレスの内容はすでに
> 知っていて、一応やってみて結果は分かっていたように見えますが、違います?
>
> 知っていたのであれば、知っていることは先に書いておいていただければ私は無駄
> なレスはしなくてすんだのですが・・・
>

大変申し訳ございませんでした。
いろいろ調べまくっていて、何を試したか直ぐには出て来ず、
WebSurfer さんのご回答を頂き、あ、そう言えばそれもやったなあ・・・
と思い起こした次第です。

本当に申し訳ございません。

結局私と現場の環境では不可抗力と思いましたので
ごりごり書き直すことにしました。
いろいろとありがとうございました。
解決済み
引用返信 編集キー/
■77993 / inTopicNo.8)  Re[5]: 大至急 ODP.NETでDbcontextに取得したい
□投稿者/ furu (41回)-(2015/12/06(Sun) 17:05:56)
大至急でもマルチポストはよくないよ

http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=33196&rev=&no=0


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -