gpt4 book ai didi

c# - SQL Server Express 连接字符串/FluentNHibernate

转载 作者:行者123 更新时间:2023-11-30 15:35:56 32 4
gpt4 key购买 nike

我的连接字符串有问题。我一直在测试很多不同的字符串和方法,但现在我被卡住了。

private static void InitializeSessionFactory()
{
_sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008
.ConnectionString(
@"Server=Data Source=.\SQLEXPRESS;DataBase=carDB.mdf;User ID=sa;Password=xxxSecretxxx;")
.ShowSql()
)
.Mappings(m =>
m.FluentMappings
.AddFromAssemblyOf<Car>())
.ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, false))
.BuildSessionFactory();
}

(我知道我根本不应该使用“sa”——我这样做的原因完全是因为缺少管理软件,所以我不得不使用那里唯一的帐户)

我正在使用 SQL Server Express 数据库。

我得到的异常是这样的:

An invalid or incomplete configuration was used while creating a SessionFactory.
Check PotentialReasons collection, and InnerException for more detail.

这是我内心的异常

A network-related or instance-specific error occurred while establishing a connection to SQL Server.
The server was not found or was not accessible.
Verify that the instance name is correct and that SQL Server is configured to allow remote connections.
(provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

有谁知道我应该如何处理这个问题?我花了几个小时试图让它发挥作用。

最佳答案

在连接字符串中,您不指定数据库文件,而是指定数据库名称。所以不应该

@"Server=Data Source=.\SQLEXPRESS;DataBase=carDB.mdf;User ID=sa;Password=xxxSecretxxx;"

但是

@"Server=Data Source=.\SQLEXPRESS;DataBase=carDB;User ID=sa;Password=xxxSecretxxx;"

假设数据库确实具有名称 carDB 而不是其他名称,例如 Cars

此外,我建议使用 SqlConnectionStringBuilder 类来构建连接字符串,因为它可以保证连接字符串在句法上是正确的。

旁注:您知道您也可以为 Express 版本安装管理工具(例如 SQL Server Express 的 SQL Server Management Studio)吗?这使事情变得容易得多。

关于c# - SQL Server Express 连接字符串/FluentNHibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14328696/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com