我的應用程序需要對用戶指定的連接字符串進行某種查詢。查詢將需要一些參數,所以我在考慮使用DbProviderFactory,並結合myConnection.GetSchema("DataSourceInformation").Rows[0]["ParameterMarkerFormat"]
來確定是否需要使用:
(Oracle),@
(Sql)或?
(OleDb)將參數發送到數據庫。如何從用戶指定的連接字符串中檢測提供程序?
要使用DbProviderFactory,我需要找出連接字符串需要提供程序。有沒有一個好的方法來做到這一點,或者我需要使用某種邏輯類型的邏輯嗎? (還是有更好的方式來連接到一個「未知」的數據庫類型?)
注:DbProviderFactory預計提供商將在System.Data.SqlClient
形式,而不是SQLNCLI.1
這是在實際的ConnectionString。
這將如何幫助我檢測哪些提供程序需要連接到用戶在運行時指定的數據庫連接字符串? – Espo 2009-12-16 12:36:22
似乎我誤解了你的問題。我認爲在這種情況下,您需要執行一些自定義if/else邏輯來識別數據庫提供程序。 – Shamika 2009-12-17 03:41:49