3

私は Web プログラミングの初心者で、会社のイントラネット サイトでホストされる Web フォームの作成を依頼されました。フォームは、データをバックエンド データベースに送信するために使用されます。

私の問題は、データベースが MS Access 2007 を使用して開発されていることです。ASP.NET MVC 3 を使用したいのですが、MS Access をバックエンド データベースとして使用できるかどうかわかりません。ほとんどの例では、すべてが SQL Server (データ コンテキスト) に接続されているように見えますが、これが最善の方法であると理解しています。

私の問題は、時間の制約により、現在このデータベースを SQL に変更できないことです。Access データベース内でフォームやレポートなどを作成するために多くの作業が行われましたが、今のところ .Net で複製する時間がありません。

短期間でイントラネット データ入力フォームを作成するための最良の方法について、アドバイスをいただけないでしょうか。

時間があれば、プロジェクト全体を最新のものにしようと思います。

4

3 に答える 3

2

Access 接続文字列を web.config ファイルに追加するだけで、代わりにその DB を使用できるはずです。

<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 は、インターフェイスとロジックの分離を指すソフトウェア デザイン パターンです。

于 2012-06-25T11:19:41.893 に答える
2

MVCで引き続きご利用いただけますMS Access。このクラスを使用することもできますが、OLEDBConnectionAccess 接続をサポートする NHibernate などの ORM を使用することをお勧めします (以下に概説するチュートリアル)。

後日、すべての NHibernate マッピングを単純に にマップし、 .ではなくSQL Server新しいデータベースを指す接続文字列に切り替えることができます。SQL ServerMS 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

于 2012-06-25T11:20:30.263 に答える
2
// 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を参照してください。

于 2012-06-25T11:17:54.417 に答える