1

アプリケーションで非常に面白い問題が発生しました。次のようなエラーが発生します。System.ArgumentException:ConnectionStringでOLEDBプロバイダーが指定されていません。例は、'Provider=SQLOLEDB;'です。

ただし、接続でプロバイダーをProvider=SQLOLEDB.1またはProvider=SQLOLEDBとして指定しようとすると、無効なキーワード「プロバイダー」という別のエラーが発生します。

しかし、私が気付いたのは、ターゲットにしているコンピューターに2つの異なるデータベースシステムがあるということです。これにより、このエラーが発生しますか?

この問題を解決する方法はありますか?

よろしく

4

2 に答える 2

1

ADO.NETを使用していると仮定して、個別のデータベースシステムを使用する場合は、接続文字列だけでなく、DbConnectionも修正する必要があります。

for OLEDBは使用できないことに注意してください。代わりにSqlConnection、を使用する必要があります。System.Data.OleDb.OleDbConnection

于 2009-02-17T09:06:36.523 に答える
0

接続文字列の一部が欠落しているようです-これらを試してください

一般的な接続文字列:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "User Id=MyUsername;Password=MyPassword;");

名前付きインスタンス接続文字列:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName\MyInstanceName;"
    "Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword;");

信頼できるセキュリティ:

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "Integrated Security=SSPI;");

ここからhttp://www.codeproject.com/KB/database/connectionstrings.aspx#OLEDBSqlServer

于 2009-02-17T09:05:53.747 に答える