我必须使用自定义的odbc驱动程序。是否可以使用(流利)nhibernate与odbc连接?
所有我需要传递的连接字符串是DSN。
我该怎么做(流利)nhibernate? FluentNHibernate.Cfg.Db只提供一个带有DSN方法的OdbcConnectionStringBuilder类。我如何使用它?
我必须使用自定义的odbc驱动程序。是否可以使用(流利)nhibernate与odbc连接?
所有我需要传递的连接字符串是DSN。
我该怎么做(流利)nhibernate? FluentNHibernate.Cfg.Db只提供一个带有DSN方法的OdbcConnectionStringBuilder类。我如何使用它?
您可以创建自己的OdbcConfiguration
类,其派生自PersistenceConfiguration
。
根据您的数据库,您将不得不在以下课程中更换方言。
public class OdbcConfiguration :
PersistenceConfiguration<OdbcConfiguration,
FluentNHibernate.Cfg.Db.OdbcConnectionStringBuilder>
{
protected OdbcConfiguration()
{
Driver<NHibernate.Driver.OdbcDriver>();
}
public static OdbcConfiguration MyDialect // <-- insert any name here
{
get
{
// insert the dialect you want to use
return new OdbcConfiguration().Dialect<NHibernate.Dialect.MyDialect>();
}
}
}
然后,在功能NHibernate,使用OdbcConfiguration
:
// replace MyDialect here, too
Fluently.Configure()
.Database(OdbcConfiguration.MyDialect.ConnectionString("DSN=...;UID=...;PWD=...")
.Driver<NHibernate.Driver.OdbcDriver>()
.Dialect<NHibernate.Dialect.MyDialect>() // <-- again, change this
.etc...
在快速搜索后未找到使用OdbcConnectionStringBuilder的示例代码。 Fluent NHibernate似乎没有相应的“OdbcConfiguration”对象用于OdbcConnectionStringBuilder。如果你不使用Fluent NHibernate来配置数据库(你仍然可以在所有的对象映射中使用Fluent),你可以通过hibernate.cfg.xml文件进行配置,查看DB2 example config以使用ODBC提供程序。
想通这是这样的事情,但不知道它会多么容易。奇怪它不像其他常用数据库那样内置。 – 2011-04-15 14:18:26
@Florian Lim可以使用DentrixSQL映射表bcoz im,并且只能通过使用带有obdc的SDK API进行操作 – 2015-11-25 11:53:39