【发布时间】:2020-06-15 01:47:39
【问题描述】:
我正在尝试使用 C# 连接到本地 SQL Server 数据库。
我目前正在使用以下连接字符串:
connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\User\source\repos\majorWork\majorWork\gameStats.mdf;Integrated Security=True";
但是,我不想使用硬编码的文件路径,因为我希望能够在多台计算机上使用该应用程序,其中文件路径会有所不同。我该怎么做呢?
【问题讨论】:
-
您应该将文件存储到特定文件夹中,您可以使用相对于应用程序路径的路径来定位该文件夹。例如,您创建一个文件夹
Database运行应用程序。然后你可以使用相对路径为AttachedDbFileName = .\Database\gameStats.mdf -
呃,您可以在使用它来创建连接之前修改连接字符串。在其中“硬编码”一个占位符并将占位符替换为程序运行的机器的数据库的实际位置上
-
你真的应该把数据库放在 服务器 - SQL Server 是为它构建的 - 然后通过服务器名称引用该服务器并让 SQL Server 处理所有文件 -相关细节。
-
当数据库附加到 SQL Server 时,切勿使用 AttachedDbFileName。它不是必需的。只需删除不需要的 AttachedDbFileName 即可。只需将“数据源”与您在 SQL Server Management Studio 的登录窗口中看到的服务器名称和实例一起使用。数据库拥有 mdf 文件,您无权读取该文件,尤其是当 mdf 在远程计算机上时。
标签: c# sql-server visual-studio