我是Web编程的新手,并被要求制作一个Web表单,该表单将托管在公司Intranet网站上。该表单将用于将数据提交到后端数据库。
我的问题是数据库是使用 MS Access 2007 开发的。虽然我想使用 MVC 3 ASP.NET 但我不确定我是否能够将 MS Access 作为后端数据库。我似乎发现的大多数示例都与SQL Server(数据上下文)挂钩,我理解这是最好的方法。
我的问题是,由于时间限制,我目前无法将此数据库更改为SQL。在 Access 数据库中创建表单、报告等内容已经做了很多工作,我现在没有时间在 .Net 中复制。
谁能给我一些建议,说明哪种方法在短期内构建内联网数据输入表单的最佳方法。
我将在时间允许时更新整个项目。
您应该能够简单地将 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>
模型-视图-控制器是一种软件设计模式,指的是接口和逻辑的分离。
您仍然可以将MVC
与MS Access
一起使用。您可以使用OLEDBConnection
类,但是我建议您使用支持Access连接的ORM,例如NHibernate(下面概述的教程)。
稍后,您可以简单地将所有 NHibernate 映射映射到SQL Server
并切换连接字符串,该字符串将指向新的 SQL Server
数据库而不是MS Access
。
将 MS Access 链接到 NHibernate:
http://www.thoughtproject.com/Snippets/NHibernateWithAccess/
通过 OLEDB 连接到 MS 访问:
http://msdn.microsoft.com/en-US/library/5ybdbtte(v=vs.71).aspx
// 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 Settingsusername" +
@"My DocumentsAccessFile.mdb";
try
{
conn.Open();
// Insert code to process data.
}
catch (Exception ex)
{
MessageBox.Show("Failed to connect to data source");
}
finally
{
conn.Close();
}
}
更多信息请访问 MSDN。