2009-06-25 7 views
0

アクセスデータベースにアクセスするための私のC#コードファイルから試しています。接続文字列ビーイングとアクセスデータベース、接続文字列jiggeryポケリー

SqlConnectionオブジェクトの接続=新しいSqlConnectionオブジェクト(れたconnectionString)

を:私が使用している場合は

たconnectionString = "プロバイダ= Microsoft.Jet.OLEDB.4.0;データソース= F :\ testing_dev \ sm_development \ App_Data \ SMWeb.mdb "

「プロバイダ」という単語がサポートされていないデータセットを作成しようとすると、エラーが発生します。私は間違って何をしていますか?

答えて

5

これを試してください。

OleDbConnection connection = new OleDbConnection(); 
string connectionString= @"Data Source=F:\testing_dev\sm_development\App_Data\SMWeb.mdb"; 

OleDbConnectionは、System.Data.OleDb名前空間にあります。

4

"SqlConnection"、 "SqlCommand"および "System.Data.SqlClient"内の "Sql"は、厳密にはSql Serverを指します。 MS Accessは間違いなくSQL Serverではありません。代わりに、System.Data.OleDb名前空間を参照してください。

using System.Data; 
using System.Data.OleDb; 
using System.Configuration; 

public class DataAccess 
{ 
    string connectionString = ConfigurationManager.ConnectionStrings["KeyName"].ConnectionString; 

    public DataSet GetData(string sql, string tableName) 
    { 
     using(var conn = new OleDbConnection(connectionString)) 
     { 
      conn.Open(); 
      var da = new OleDbDataAdapter(sql, conn); 
      var ds = new DataSet(); 
      da.Fill(ds, tableName); 
      return ds; 
     } 
    } 
} 
1

パス たとえば、

"F:¥testing_dev¥sm_development¥App_Data¥SMWeb.mdb";

それ以外の場合はすべてokey

1

アクセス2007

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|/My_DB.accdb;Persist Security Info=False; 
-1

のための使用、このウルは、C#でこれをしようとする場合は、 "\" 書くには2時間を試してみてください:SqlConnectionオブジェクトを置くとOleDbConnectionを拾う

+1

例の中に2つのバックスラッシュがありますか? – LittleBobbyTables