2016-03-21 52 views
0

ユーザーにMySQLまたはMS SQL接続のいずれかを選択させる予定のアプリがあります。ODBCエラー - データソース名が見つかりません。既定のドライバが指定されていません。

私はそうのように接続文字列を設定します。openへの接続を試みるときしかし、私は次のエラーを取得

OdbcConnection SqlConn = new OdbcConnection(); 

connString = String.Format("Driver={{{0}}}; Server={1}; Port={2}; DataBase={3}; Uid={4}; Pwd={5};", protocol, hostname, port, database, user, password); 
SqlConn.ConnectionString = connString; 

:今

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

を、私が代わりにMySqlConnectionにをテスト接続文字列の一部がDriverになり、すべて正常に動作します。私はそれがDriverと関係があると確信していますが、私は何がわかりません。私が使用するほとんどの例はDriver={MySQL}ですが、それは私のためには機能しませんでした。

注意:重要なことはわかりませんが、ユーザーはラジオボタンを選択してMySQLまたはMS SQLを使用するかどうかを判断します。

+0

正常にテストされるSQL ServerへのDSNを作成できますか?もしそうなら、それは実際の接続文字列を構築するだけの問題です。 – JLB

+0

以前はDSNを使用していませんでした。 SQLのプロではありませんが、同じ基本設定を使用してSQL Serverにも接続できます。私はちょうど私が接続文字列を切り替えるためにDBに接続するたびにifステートメントの束を使用しないようにしたい。 – pfinferno

+1

ODBCデータソース管理者を開き、 'SQL Native Client'、' SQL Server'、 'SQL Server Native Client 10.0/11.0'だけでなく' MySQL ODBC 5.3 ANSI'と 'Unicode'ドライバも持っていました。 – pfinferno

答えて

1

正しい接続文字列は、使用するドライバによって異なります。 This siteには、さまざまなデータベース、接続方法、およびドライバのバージョンごとに、接続文字列のライブラリがあります。

関連する問題

 関連する問題