2011-04-25 48 views

回答

6

SqlConnection的是".NET Data Provider for SQL Server"的一部分,所以它是ADO.NET,不與舊的基於COM的ADO混淆。

另外,是的,我相信OleDBConnection是Access的首選。我不相信MS Access有一個開箱即用的本地數據提供程序。

+0

感謝您的清除。我正在挖掘它... – Teson 2011-04-25 20:03:42

1

1)SqlConnection類是System.Data.SqlClient命名空間的一部分,被認爲是ADO.NET的一部分。

2)OleDbConnection用於連接到OLE數據庫。如果你談論的是建立一個平臺無關的數據訪問層,你應該使用System.Data.Common.DbProviderFactories創建通用的DbConnection,DbCommand和等,對象如下面的代碼示例:

Dim objFactory As DbProviderFactory = DbProviderFactories.GetFactory(ConfigurationManager.AppSettings("DbType")) 

    Dim objConnection As DbConnection = objFactory.CreateConnection 
    objConnection.ConnectionString = strConnectionString 

在在這個例子中,您將保留您在「應用程序設置」中使用的實際提供商的名稱。

請注意,通用數據庫對象只支持最低公因分母方法,所以如果您正在尋找特定平臺的某些東西,那麼您運氣不好。當然,您還必須爲提供程序工廠指定有效的DBtype,這意味着您必須使用內置提供程序(ODBC,MS SQL,Oracle,OLEDB)或第三方提供程序。我認爲如果你有一個適用於你的平臺的ODBC驅動程序,那麼你可以用ODBC解決問題,但我對這一點不太瞭解。

有關不同的連接對象信息包括在ADO.NET:MSDN-Connecting to Data Sources

+0

感謝您的一個非常徹底的答案! – Teson 2011-05-01 17:42:49

0

是它是ADO.NET一部分。如果使用SqlConnection,實際上它是ADO.NET的一部分,用於在應用程序和數據庫之間建立連接。