代码之家  ›  专栏  ›  技术社区  ›  Earlz

使用Npgsql的DbProviderFactory?

  •  18
  • Earlz  · 技术社区  · 14 年前

    我有一个项目,我正试图从SQL Server移植到PostgreSQL。我几乎把我相信的所有事情都做完了,除了我做不到的事情 DbProviderFactory 使用Npgsql。

    Factory = DbProviderFactories.GetFactory("Npgsql");
    

    未处理的异常: 找不到或加载已注册的

    我该怎么解决这个问题?

    5 回复  |  直到 14 年前
        1
  •  9
  •   Milen A. Radev    14 年前

    您是否阅读了第3.4节“将Npgsql与ProviderFactory一起使用” the fine manual

        2
  •  14
  •   ANeves    11 年前

    <system.data>
      <DbProviderFactories>
        <add name="Npgsql Data Provider" invariant="Npgsql"
             description="Data Provider for PostgreSQL"
             type="Npgsql.NpgsqlFactory, Npgsql" />
      </DbProviderFactories>
    </system.data>
    

    http://fxjr.blogspot.pt/2013/06/npgsql-code-first-entity-framework-431.html

        3
  •  1
  •   Dude Pascalou    10 年前

    这个 属性值在 数据库提供程序工厂

    对我来说 版本号 不正确。 正确的版本是:

    <system.data>
      <DbProviderFactories>
        <add name="Npgsql Data Provider" 
             invariant="Npgsql" 
             support="FF" 
             description=".Net Framework Data Provider for Postgresql Server" 
             type="Npgsql.NpgsqlFactory, Npgsql, Version=2.2.3.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
      </DbProviderFactories>
    </system.data>
    

    您可以使用以下方法检索项目上的值:

    typeof(Npgsql.NpgsqlFactory).AssemblyQualifiedName
    
        4
  •  1
  •   Mark    9 年前


    详细步骤:

    (1) 将DbFactory提供程序添加到machine.config

    b。编辑machine.config文件并将下面的行添加到DbProviderFactories

    <DbProviderFactories>
        <add name="Npgsql Data Provider" 
             invariant="Npgsql" 
             support="FF" 
             description=".Net Framework Data Provider for Postgresql Server" 
             type="Npgsql.NpgsqlFactory, Npgsql"/>
      </DbProviderFactories>
    

    (2) 在GAC中注册npgsql.dll和mono.security.dll

    (我的GAC文件夹位于C:\Windows\Microsoft.NET\assembly\GAC\u MSIL)

        5
  •  0
  •   user2965379    11 年前

    在GAC中注册ngsql和mono.security dll,并在machine.config中为两者添加dbfactory provider[32&64位版本]