我正在使用 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 位。
我在这里想念什么?请帮忙。