我无法连接到 SQL Server 2017 (14.0.1000.169)本地数据库共享实例。
我在一台以前安装了一些 SQL Server Express 和我都已经卸载的东西的笔记本电脑上试过。并且还在新的 Win10 VM 上。
两者总是有相同的错误:
Sqlcmd:错误:用于 SQL Server 的 Microsoft ODBC 驱动程序 17:命名管道提供程序:无法打开到 SQL Server 2的连接。.
Sqlcmd:错误:用于 SQL Server 的 Microsoft ODBC 驱动程序 17:登录超时已过期。
Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。
此错误来自SQLCMD
但我也尝试过使用 SSMS 和 Visual Studio 连接字符串。
我尝试与实例的所有者连接,但无法连接。还尝试使用具有sysadmin权限的 SQL 登录,但不能。
我只能用管道名称连接。
我还尝试了以下所有内容:
我正在开发一个需要 sql server 的软件。但是对于 50 MB 的应用程序,告诉客户安装 SQL Server 并不是一个好主意。所以我认为最好使用 SQL Server Express LocalDB。
我想提供从局域网访问我的应用程序的功能。但我没有得到任何相关的主题来做到这一点。
是否可以在局域网上访问 SQL Server Express LocalDB?
与 SQL Server 相比,SQL Server Express LocalDB 有哪些限制?
在安装了 SQL Server LocalDB 2014 的机器上,我正在寻找 SQLCMD.EXE 文件,但在任何地方都找不到它。有没有办法单独安装?
不幸的是,我不是机器的本地管理员,所以我不喜欢 MSI ...
找到此链接https://www.microsoft.com/en-us/download/confirmation.aspx?id=36433,但不能使用 MSI ... 也许复制可执行文件和 dll 可以解决问题。
C:\Program Files\Microsoft SQL Server\110\Tools\Binn
从安装了 SSMS 的另一台计算机复制文件 SQLCMD.EXE、BATCHPARSER.DLL 和 SQLCMD.RLL 后,我仍然收到错误:
Microsoft SQL Server Native Client 11.0:未找到数据源名称且未指定默认驱动程序。
运行sqlcmd -S np:\\.\pipe\LOCALDB#F8040C8F\tsql\query
。
不确定这个问题是否属于这里,但我希望有人能帮助我。
我已经对数据库进行了集成测试(使用 mssql localDB)。我希望每个测试都使用它自己的数据独立运行 - 我想在每个测试运行之前用我的假数据重新植入数据库。我试图用事务来实现它,但没有成功。这是我尝试将其关闭的方法:
public class TestDbInitializer : DropCreateAlways<MyContext>()
{
public static List<Item> Items;
public override Seed(DbContext context)
{
Items = new List<Item>();
// Adding items
// ..
Items.ForEach(x => context.Add(x));
context.SaveChanges();
}
}
public class BaseTransactionsTests
{
private TransactionScope _scope
[TestInitialize]
public void Initialize()
{
_scope = new TransactionScope();
}
[TestCleanup]
public void Cleanup()
{
_scope.Dispose();
}
}
[TestClass]
public class IntegrationTests : BaseTransactionsTests
private IDependenciesContainer _container;
public static void AssemblyInit(TestContext context)
{
Database.SetInitializer(new TestDbInitializer());
_container = …
Run Code Online (Sandbox Code Playgroud) 我首先使用 C# 实体框架代码。
我对数据库的了解几乎一无所有。我不知道这是常见的还是好的做法,所以我想问你们我应该怎么做。
假设我有一张字母表和一张车站表。
我开发了一个应用程序,可以将信件从一个站发送到其他站。每封信都可以发送到不同的站点——这是一种多对多的关系。
发送的每封信都与一个站相关联 - 信的源站(信不能发送到它自己的源站,等等)。
每个数据库实例代表一个站。
在应用程序启动时,我知道哪个站是我的源站,并希望将该信息保存在数据库中。
我应该如何保存哪个站是源站?我是否应该在每一行的站台表中都有一个标志,指示它是否是当前实例站?这对我来说听起来很糟糕。
有没有办法让表格只有 1 个值?例如,它将被称为 InstanceStation,它将只包含一行和一列 - StationId?这是一个好习惯吗?
我尽量说清楚,希望我的情况清楚。
database-design sql-server entity-framework c# sql-server-localdb