首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在尝试创建数据库架构-没有可用的DB提供程序,无法创建连接

正在尝试创建数据库架构-没有可用的DB提供程序,无法创建连接
EN

Stack Overflow用户
提问于 2011-06-16 23:19:37
回答 1查看 969关注 0票数 3

我从Northwind spring.net/NHibernate示例开始。我正在尝试使用现有的示例来生成模式。我将CustomerEditController web.xml条目更改为

代码语言:javascript
复制
<object name="CustomerEditController" type="NHibernateCustomerEditController" scope="session">
  <constructor-arg name="sessionFactory" ref="NHibernateSessionFactory"/>
  <constructor-arg name="local" ref="&amp;NHibernateSessionFactory"/>
</object>`

NHibernateCustomerEditController更改为以下内容:

代码语言:javascript
复制
public class NHibernateCustomerEditController : ICustomerEditController
{
    private readonly ISessionFactory sessionFactory;
    private readonly LocalSessionFactoryObject LocalsessionFactory;
    private Customer currentCustomer;

    public NHibernateCustomerEditController(ISessionFactory sessionFactory, LocalSessionFactoryObject local)
    {
        this.sessionFactory = sessionFactory;
        this.LocalsessionFactory = local;
    }

    private ISession Session
    {
        get { return sessionFactory.GetCurrentSession(); }
    }

    public void EditCustomer(Customer customer)
    {
        currentCustomer = customer;
    }

    public void Clear()
    {
        currentCustomer = null;
    }

    public Customer CurrentCustomer
    {
        get
        {
            Customer customer = currentCustomer;

            //since the Customer entity may have been retrieved from a prior request, we need to reattach it to the current session
            // in order to support lazy-loading, etc. on the Customer
            Session.Lock(customer, LockMode.None);

            return customer;
        }
    }
    public void MakeANewDatabase() {
        SchemaExport schema = new SchemaExport(LocalsessionFactory.Configuration);
        schema.Create(true, true);
    }

}

我向指向MakeANewDatabase方法的customer List页面添加了一个按钮。

当我点击按钮时,我收到了错误There was no DB provider available, unable to create connection。看起来在创建SchemaExport时,DBProvider为空。

完整错误文本:

代码语言:javascript
复制
An exception of type 'System.Exception' occurred in Spring.Data.NHibernate30.DLL but was not handled in user code

Additional information: There was no DB provider available, unable to create connection

An exception of type 'NHibernate.HibernateException' occurred in NHibernate.DLL but was not handled in user code

Additional information: There was no DB provider available, unable to create connection
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-20 06:23:51

从本地会话工厂拉出的配置看起来没有完全填充,使用spring方法解决了这个问题。

代码语言:javascript
复制
public void MakeANewDatabase()
{ 
  LocalsessionFactory.CreateDatabaseSchema(); 
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6374267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档