我使用nHibernate + Npgsql使用Windows身份验证(SSPI)连接到PostgreSQL服务器。我已将Windows用户添加到Postgres,并按照http://wiki.postgresql.org/wiki/Configuring_for_single_sign-on_using_SSPI_on_Windows的建议配置了设置。
这是我的连接字符串: “Server =; Port = 5432; Database =; Integrated Security = true”
这是我的代码:
if (!sessionFactories.TryGetValue(sessionFactoryConfigPath, out sessionFactory))
{
Configuration cfg = new Configuration();
if (sessionFactoryConfigPath != DefaultConfigFile)
{
//Check.Require(File.Exists(sessionFactoryConfigPath),
// "The config file at '" + sessionFactoryConfigPath + "' could not be found");
cfg.Configure(sessionFactoryConfigPath);
}
else
{
cfg.Configure();
}
// Now that we have our Configuration object, create a new SessionFactory
sessionFactory = cfg.BuildSessionFactory();
当我运行它时,我在sessionFactory = cfg.BuildSessionFactory();得到以下错误; “致命:XX000:无法接受SSPI安全背景”
当我检查PostgreSQL日志时,发现以下条目: “提供给该功能的令牌无效(80090308)”
我正在使用“PostgreSQL 9.3.2,由Visual C ++ build 1600,32位编译”。我是从postgres网站上得到的。我使用的是Windows 7 SP1 64位。
我在这里缺少什么?请帮忙。