【发布时间】:2022-01-19 08:58:38
【问题描述】:
为了简单起见 - 我正在为我的大学作业开发一个课程项目。我在 WinForms 和 C# 中创建了一个应用程序。为了存储这个应用程序的各种数据,例如注册信息、帐户以及各种应用程序功能相关的数据,我使用了Microsoft SQL Server 数据库。现在最后,我意识到我无法将项目发送给我的老师,它无法在他的计算机上运行,因为经过一些阅读和研究,我发现我可能需要一个 mdf 文件 我找不到,我认为这是因为我在 SQL Server 应用程序中创建了表,而不是通过 Visual Studio。
我的连接字符串:con = new SqlConnection(@"Data Source=MyPC;Initial Catalog=SISDB;Integrated Security=True");
如您所见,连接字符串被硬编码到我的电脑
我的问题是 - 有哪些步骤,或者我应该怎么做,才能使这个应用程序在我的教师计算机上运行得一样好,而数据库没有问题?
【问题讨论】:
-
您可以获取数据库架构脚本并共享它们。脚本还将在另一端创建数据库。应在应用程序中维护连接字符串。配置文件,以便教师可以根据他的 PC 设置更改连接字符串。
-
您应该能够通过查看数据库属性轻松找到 mdf,但由于许多原因,它仍然可能存在问题。如果我必须做一个这样的项目,我会使用像 Sqlite 这样的嵌入式数据库,因为它易于分发。
-
AS @AmitVerma 说 conn 字符串应该在某个配置文件(app.config,一些 ini,...)中,关于数据库文件,您可以在 SQL 管理器中进行备份并发送它给你的老师
-
我认为这是一个相当有用的教训,即在编写应用程序时需要考虑部署。有各种嵌入式数据库旨在使这更容易,但这可能对手头的问题没有多大帮助。
-
使用 SQL Server 是否有特定要求?如果没有,除非您使用过特定的 SQL Server 功能,否则最好使用 sqlite。这适用于本地文件(甚至在内存中)。请记住,sqlite 不支持相同的功能集,但如果您坚持基本用法,则工作量应该是有限的。
标签: c# sql-server database winforms