1

System.Data.Common クラスを使用してカスタム データ プロバイダーを作成し、インターフェース IDBConnection、IDBCommand などを実装しました。プロバイダー名は「MysampleProvider」です。

今、web.config の接続文字列でプロバイダーを指定したいですか? .net データ プロバイダーの代わりに独自のプロバイダー (MysampleProvider) を使用できるようにします。

誰でもこれについて私を案内できますか?例で?

あなたの返事を楽しみにしていますか?

こんにちは、私はあなたの指示に従い、以下のように変更を加えましたが、まだ成功していません.私のソースは以下です.

    <DbProviderFactories>
    <remove invariant="CustomDataProvider"/>
      <add name="Custom Data Provider" invariant="CustomtDataProvider" description=".Net Framework Data Provider" type="CustomDataProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
    </DbProviderFactories>
  </system.data>

<connectionStrings>
<add name="ConnectionString" connectionString="Driver={MySQL ODBC 5.1 Driver};server=192.168.1.6;uid=root;database=Sample;port=3306;pwd=root79" providerName="CustomDataProvider.DBManager" />
</connectionStrings>                                                                    
4

1 に答える 1

2

さて、それは構成から来ています。マシン構成から以下をコピーしました。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
  </configSections>
  <system.data>
    <DbProviderFactories>
      <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
      <add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
    </DbProviderFactories>
  </system.data>
</configuration>
于 2012-10-31T07:27:17.570 に答える