VS2013+MVC+EF5+oracle 实践中的那些事儿

学习中,一路报错,终于好了,总结如下

1.创建ADO.NET实体数据模型没有oracle数据源

解决方案:oracle官网下载Oracle Developer Tools for VS2013,安装即可。

2.程序运行报错:找不到请求的 .Net Framework Data Provider。可能没有安装

解决方案:把这段代码加到web.config中

<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client"/>
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver"
type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
</DbProviderFactories>
</system.data> 

位置在这里吧

3.未能从程序集“Oracle.ManagedDataAccess”……

解决方案,从你的Oracle Developer Tools for VS2013安装目录中找到这个dll文件,引用就行。(从电脑上搜一下,好多路径下都有,网上下载也可,我的本地有很多,有的文件大点儿,有的小点儿,一个不行就试试另一个哈,我用的那个小的)

接下来是一些经验总结:

把我电脑的情况说一下吧,我是64bitwin7操作系统,oracle64bit服务端,VS好像都是32bit的吧。

在解决上述问题过程中,安装和卸载了无数遍odbc,odac,卸载odbc的时候还误把oracle服务端卸载了2次,主要是英语不好,doc命令行看不懂,然后重新安装的时候又是一堆报错,那些错误百度即可解决,这里不再赘述。

期间因为第2个问题一直在修改machine文件,也没啥效果,后来发现改错地方了,这两个里面都有配置文件,我一直改的都是Framework64下的,根本不管用,我的配置应该是改Framework下的,改了一下,果然报错信息变了,变成了第3个,好激动。。。这里改web.config和machine文件都可以的,web.config继承自machine。

太可怕了,如果你的问题和我类似,可以参考我的解决方案,真的不用安装odbc,odac,改machine,改tnsnames and so on,我的问题到这里就解决了,接下来要研究一下为什么oracle不能用EF6,还有oracle的数据表必须得有主键才能生成实体。

虽然一路踩坑,就当是经验积累吧,that‘s all

改系统配置文件的时候一定要做好备份!

原文地址:https://www.cnblogs.com/xinyuxinqing/p/9719918.html

时间: 2024-11-05 22:50:32

VS2013+MVC+EF5+oracle 实践中的那些事儿的相关文章

maven新建Spring MVC + MyBatis + Oracle的Web项目中pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion&

在VS2013 MVC项目中上传图片

之前做网站项目时,凡遇到保存图片的,我都将图片上传后存储在服务器的本地文件夹中,在一个Controller的Action中,类似操作如下所示: public ActionResult UpLoad(HttpPostedFileBasearImg) {             //保存图片            if (arImg != null)            {                 string uploadName =arImg.FileName;//获取待上传图片的完整

也说Autofac在MVC的简单实践:破解在Controller构造函数中的实例化 - winhu

相信大家对Autofac并不陌生,很多人都在使用.本文只是介绍一下本人在使用时的一点想法总结. 在使用一个框架时,肯定要去它的官网查阅一下.autofac的官网给出了一些经典的使用案例.如注册容器: var builder = new ContainerBuilder(); // Register individual components builder.RegisterInstance(new TaskRepository) .As<ITaskRepository>(); builder.

Oracle实践--PL/SQL基础之表分区

PL/SQL基础入门之表分区 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ---------------------------------------------

ASP.NET MVC+EF5 开发常用代码

Asp.Net Mvc,EF 技术常用点总结 1.Asp.Net MVC a)获得当前控制器名和当前操作的名称(action) 1.Action 中 RouteData.Values["controller"].ToString(); RouteData.Values["action"].ToString(); 2.页面中(view) ViewContext.RouteData.Values["controller"].ToString().To

Oracle实践--PL/SQL基础之代码块

PL/SQL基础入门之代码块 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. 优点: 1.       支持SQL,可以使用:DML,DCL,游标控制和SQL运算符 2

Oracle实践--PL/SQL基础之游标

PL/SQL基础入门之游标 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ----------------------------------------------

Oracle实践--PL/SQL基础之视图和索引

PL/SQL基础入门之视图和索引         PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. -----------------------------------

Oracle实践--PL/SQL综合之分页存储过程

当我们查看JDK API的时候,总会发现一些类说明写着,线程安全或者线程不安全,比如说StringBuilder中,有这么一句,"将StringBuilder 的实例用于多个线程是不安全的.如果需要这样的同步,则建议使用StringBuffer. ",那么下面手动创建一个线程不安全的类,然后在多线程中使用这个类,看看有什么效果. Count.java: [java] view plaincopy public class Count { private int num; public