0

我学习 NHibernate 并尝试从视频课程中重复创建应用程序,
我创建了数据库、模型、XML 文件,然后我编写了这段代码

using System;
using System.Reflection;
using NHibernate.Cfg;
using NHibernate.Dialect;
using NHibernate.Driver;

namespace NHibernateDemo
{
internal class Program
{
    static void Main(string[] args)
    {
        var cfg = new Configuration();
        cfg.DataBaseIntegration(x =>
            {
                x.ConnectionString = "Server=localhost; Database=NHibernateDemo; Integrated Security = SSPI";
                x.Driver<SqlClientDriver>();
                x.Dialect<MsSql2008Dialect>();
            });
        cfg.AddAssembly(Assembly.GetExecutingAssembly());
        var sessionFactory = cfg.BuildSessionFactory();
        using (var session = sessionFactory.OpenSession())
        using (var tx = session.BeginTransaction())
        {
            var customers = session.CreateCriteria<Customer>()
                                   .List<Customer>();
            foreach (var customer in customers)
            {
                Console.WriteLine("{0} {1}", customer.FirstName, customer.LastName);
            }
            tx.Commit();
            Console.WriteLine("Enter any key to exit...");
            Console.ReadKey();
        }
    }
}
}

但是当我尝试调试它时,我得到了SqlExeption 未处理

在此处输入图像描述

我想我需要在我的代码中添加登录名和密码,但是有人可以解释我该怎么做吗?

4

1 回答 1

2

您正在使用集成安全,运行您的代码的用户必须有权访问:

Server=localhost; Database=NHibernateDemo; Integrated Security = SSPI

您可以更改连接字符串以使用 sql 帐户或授予用户访问数据库的权限。

配置连接字符串:连接字符串

于 2013-07-24T08:10:26.450 回答