Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Oracle数据库配置ASP.NET MVC 4应用程序_C#_Asp.net Mvc 4_Oracle11gr2 - Fatal编程技术网

C# 使用Oracle数据库配置ASP.NET MVC 4应用程序

C# 使用Oracle数据库配置ASP.NET MVC 4应用程序,c#,asp.net-mvc-4,oracle11gr2,C#,Asp.net Mvc 4,Oracle11gr2,我目前正在使用Oracle数据库进行ASP.NET MVC 4项目。我已成功将连接字符串添加到我的Web.config文件中,如下所示: <add name="OracleDBConnString" connectionString="Provider=MSDAORA;Data Source=ISDQA;User ID=isd;Password=isdqa;" providerName="System.Data.OleDB" /> 这是我的用户控制器: [HttpPost] [Al

我目前正在使用Oracle数据库进行ASP.NET MVC 4项目。我已成功将连接字符串添加到我的Web.config文件中,如下所示:

<add name="OracleDBConnString" connectionString="Provider=MSDAORA;Data Source=ISDQA;User ID=isd;Password=isdqa;" providerName="System.Data.OleDB" />
这是我的用户控制器:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
    //I WANT TO MODIFY THIS PART
    if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) 
    {

        return RedirectToLocal(returnUrl);
    }

    // If we got this far, something failed, redisplay form
    ModelState.AddModelError("", "The user name or password provided is incorrect.");
    return View(model);
}
更新

当我将
base(“DefaultConnection”)
更改为
base(“OracleDBConnString”)
时,出现以下错误:

Server Error in '/' Application.

A null was returned after calling the 'get_ProviderFactory' method on a store provider instance of type 'System.Data.OleDb.OleDbConnection'. The store provider might not be functioning correctly.

注意,我已经使用System.Data.OleDb添加了
在我的使用中。

您可以在web.config中设置您使用的成员资格提供程序,而不是创建特殊类

对于Oracle,您可以找到一个
OracleMembershipProvider
类。 对于MySQL,您可以使用
MySQLMembershipProvider
。这里有一篇很好的文章,介绍了如何设置它:

此外,您还可以使用和使用适当的提供者(请参阅本文:)。我没有尝试这个解决方案,但它看起来很有希望

如果上面没有任何帮助,您可以编写自己的Memebership提供程序,但我相信您可以找到一些已经存在的东西


总而言之:与其更改连接类型,不如更改成员资格提供程序,这将针对您的需要。您的代码不应该注意到更改,因为每个成员资格提供程序都继承了base
MemebershipProivder
class

Asp.Net SimpleMembership和Asp.Net成员资格恐怕是不同的。Net MVC4模板使用SimpleMembership(WebSecurity.Login)


请参阅我关于Asp.NETMVC4中MySql成员资格提供程序用法的回答。简单地更改连接字符串或其他东西对您没有帮助。您需要找到Oracle Asp.Net SimpleMembership或自己编写。

我不明白。我必须更改连接字符串吗?顺便说一下,我安装了CodeFirst成员资格提供程序。@garath你能解释一下如何将Oracle成员资格提供程序的外观设置为我的答案吗
Server Error in '/' Application.

A null was returned after calling the 'get_ProviderFactory' method on a store provider instance of type 'System.Data.OleDb.OleDbConnection'. The store provider might not be functioning correctly.