【问题标题】:Intranet Form using ASP.NET MVC and Access使用 ASP.NET MVC 和 Access 的 Intranet 表单
【发布时间】:2012-06-25 11:13:23
【问题描述】:

我是 Web 编程的新手,我被要求制作一个将托管在公司 Intranet 站点上的 Web 表单。该表单将用于将数据提交到后端数据库。

我的问题是数据库是使用 MS Access 2007 开发的。虽然我想使用 ASP.NET MVC 3,但我不确定我能否将 MS Access 用作后端数据库。我似乎发现的大多数示例都与 SQL Server(数据上下文)有关,据我所知,这是最好的方法。

我的问题是,由于时间限制,我目前无法将此数据库更改为 SQL。在 Access 数据库中创建表单、报告等内容已经完成了很多工作,我暂时没有时间在 .Net 中进行复制。

谁能给我一些建议,在短期内哪种方法是构建 Intranet 数据输入表单的最佳方法。

如果有时间,我会设法更新整个项目。

【问题讨论】:

  • 没有理由在建模时必须使用 MSSql。只是MS Sql比MS access好很多。你喜欢什么数据访问技术? ADo.Net,Enity 框架,还有什么?
  • 谢谢,我对 ADO.Net 很熟悉,我会用这个。谢谢

标签: c# asp.net ms-access intranet


【解决方案1】:

您应该能够简单地将 Access 连接字符串添加到 web.config 文件并改用该数据库。

<connectionStrings>
    <add name="MyConn" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|name_of_db.accdb;" providerName="System.Data.OleDb" />
</connectionStrings>

Model-View-Controller是一种软件设计模式,指的是界面和逻辑的分离。

【讨论】:

    【解决方案2】:

    您仍然可以将MVCMS Access 一起使用。您可以使用 OLEDBConnection 类,但我建议您使用支持 Access 连接的 ORM,例如 NHibernate(下面列出的教程)。

    以后您可以简单地将所有 NHibernate 映射映射到 SQL Server 并切换将指向您的新 SQL Server 数据库而不是 MS Access 的连接字符串。

    将 MS Access 链接到 NHibernate:

    http://www.thoughtproject.com/Snippets/NHibernateWithAccess/

    通过 OLEDB 连接到 MS Access:

    http://msdn.microsoft.com/en-us/library/5ybdbtte(v=vs.71).aspx

    【讨论】:

      【解决方案3】:
      // C#
      public void ConnectToAccess()
      {
          System.Data.OleDb.OleDbConnection conn = new 
              System.Data.OleDb.OleDbConnection();
          // TODO: Modify the connection string and include any
          // additional required properties for your database.
          conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
              @"Data source= C:\Documents and Settings\username\" +
              @"My Documents\AccessFile.mdb";
          try
          {
              conn.Open();
              // Insert code to process data.
          }
              catch (Exception ex)
          {
              MessageBox.Show("Failed to connect to data source");
          }
          finally
          {
              conn.Close();
          }
      }
      

      更多信息请访问MSDN

      【讨论】:

        猜你喜欢
        • 2017-01-24
        • 1970-01-01
        • 2013-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多