【问题标题】:Getting started with nhibernate, informix and fluentmappingnhibernate、informix 和 fluentmapping 入门
【发布时间】:2014-01-03 12:39:28
【问题描述】:

我需要将 NHibernate 3.1 配置为针对 asp.net 4.0 应用程序中的 informix 11.50 数据库 使用 Fluent NHibernate 进行映射。

我有这个连接字符串:jdbc:informix-sqli://server:1530/database:informixserver=lufi_tcp 我有用户通行证。我可以使用 dbvisualizer 连接到数据库。

我整理了一些我在 Internet 上找到的配置示例,但它不起作用。

谁能给我一个链接或关于我需要做什么的信息 使用fluent配置nhibernate以针对informix数据库(对于傻瓜,请。)

S.O:Windows 8 64 位

提前谢谢你。

更多信息:

我以这种方式构建会话工厂:

 class FluentNHibernateLocalSessionFactory : LocalSessionFactoryObject
{
    public string[] FluentNhibernateMappingAssemblies { get; set; }

    protected override ISessionFactory NewSessionFactory(Configuration config)
    {
        return Fluently.Configure()
            .Database(
                 IfxSQLIConfiguration
                .Informix1000
                .Provider<NHibernate.Connection.DriverConnectionProvider>()
                .Driver<NHibernate.Driver.IfxDriver>()
                .Dialect<NHibernate.Dialect.InformixDialect>()
                .ConnectionString("Database=myDatabase;Server=myServer:1530;Persist Security      Info=True;Authentication=Server;uid=myUser;password=myPass;")
                .ShowSql()
            )
            .Mappings(m =>
            {
                foreach (string assemblyName in FluentNhibernateMappingAssemblies)
                    m.FluentMappings.AddFromAssembly(Assembly.Load(assemblyName));
            })
           .BuildConfiguration()
           .BuildSessionFactory();
    }
}

我得到的错误: {“无法从 NHibernate.Driver.IfxDriver、NHibernate、Version=3.1.0.4000、Culture=neutral、PublicKeyToken=aa95f207798dfdb4 创建驱动程序。”}

【问题讨论】:

  • 不要在没有显示你到目前为止尝试过的情况下要求链接或代码,否则这个帖子将被关闭......你如何构建nhibernate会话工厂?你使用正确的方言吗?错误是什么?为什么使用旧版本的 NH?
  • 我已经更新了我的问题。

标签: nhibernate fluent-nhibernate informix


【解决方案1】:

您必须添加对IBM.Data.Informix 的引用,否则驱动程序将抛出此异常。为此,您必须向运行上述代码的项目添加对 IBM.Data.Informix.dll 的引用。

【讨论】:

  • 谢谢,我现在收到一个新错误。我已更新问题以显示错误。
  • 请将此 q 标记为已回答,删除您的编辑并为您的更新提出一个新问题,因为这是一个完全不同的主题(之前的错误可能是谷歌)
  • 连接字符串的这个片段:“myServer:1530”表示你想连接DRDA驱动,因为SQLI驱动在这里不处理端口。如果我的猜测比您需要的正确:确保 IBM.Data.Informix 是 DRDA 驱动程序并将 IfxSQLIConfiguration 更改为 IfxDRDAConfiguration。或者(如果您想要 SQLI):确保 IBM.Data.Informix 是 SQLI 驱动程序并且 Server=,例如 ol_ifxservertcp。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-03
  • 2017-02-22
相关资源
最近更新 更多