これは、C# を知っている人にとっては非常に単純な質問に違いありませんが、少し迷っています。
クラスDbConnection
は から派生しIDbConnection
ます。クラスOleDbConnection
とOdbcConnection
. objConnection
またはのいずれかである必要がOleDbConnection
ありますOdbcConnection
。
string connStr = CONNECTION_STRING.Replace("<FILENAME>", fullFileName);
IDbConnection objConnection = (myswitch) ? (IDbConnection)new OdbcConnection(connStr)
: (IDbConnection)new OleDbConnection(connStr);
objConnection.Open();
objConnection.GetSchema(...);
objConnection.Close();
クラスDbConnection
はインスタンス化できませんが、GetSchema
呼び出したいメソッドがあります ( open
andも呼び出しますclose
)。IDbConnection にはこれらのメソッドがありませんCast to は機能しDbConnection
ません。if
コードの大規模な繰り返しなしでこれらの呼び出しを実装する方法はありますか?
編集: 私はこれらの接続を使用して Excel ファイルを読み込んでいます。どうやら 64 ビット マシンには OdbcConnection が必要です (不明、まだ調査中)。