2012-09-03 106 views
0

我创建了一个使用.mdf数据库的C#应用​​程序,它可以在我的PC上完美工作。 现在我想在可连接到单个数据库并使用该数据的网络PC上安装该应用程序。 我试着改变应用程序中的连接字符串只改变文件路径,但它不起作用。我如何使用一台PC作为服务器,并使用程序作为可通过网络连接的客户端应用程序。我如何在PC上设置SQL服务器,并且应该这样做?这是如何完成的?到目前为止我找不到任何教程...通过网络的SQL服务器和c#应用程序

有人可以帮我一下。

+0

你说你改变了路径,你改变了什么?机器上的mdf并没有真正被设计成可以被多个客户端访问 - 你可以直接使用sql server。你尝试了什么? – BugFinder

+0

在我开发应用程序连接字符串的PC上,像这样的'code'“Data Source =。\ SQLEXPRESS; AttachDbFilename = C:\ USERS \ MILAN \ DOCUMENTS \ VISUAL STUDIO 2008 \ PROJECTS \ program \ PROGRAM \ DATABASE.MDF; Integrated安全= True;用户实例= True'code',当我在其他PC上迁移时,我只改变路径到D:\ DATA \ DATABASE.MDF。有没有一种方法可以将它用作多用户应用程序?我是否为此设置了服务器? – Milan

+0

好吧,sqlexpress是一个非常有限的服务器版本,如果不在运行时附加它,但在数据库中正确安装它,那么您将能够拥有非常有限的服务器连接数(假设你用SQL express打开它)为其他机器连接..你可以使用类似的连接,而不是attachdbfilename,你具体的数据库的名称 – BugFinder

回答

1

我不认为你应该这样做,这一点是我曾经看着自己。我曾经为了同样的目的而使用过标准的基本单元,虽然它工作的很好,但你并不是真的应该这样做。

你必须问自己应用程序对业务有多重要。如果它的关键,那么这将是一个真正的坏的举动,原因有几个: -

1)如果承载SQL Server的基本单元死亡会发生什么?或关闭 。你没有联系。

2)您将只能安排本地硬盘上的SQL Server数据库的备份 。如果磁盘死亡,那么你会失去一切。

当所有的事情都说完之后,对于你提出的场景,MS Access数据库可能是一个更干净的方法。访问数据库尽管有日期,但可以托管在共享网络空间上,并且可以由多个用户访问。 ADO.NET太糟糕了,你仍然可以使用LINQ和数据表等。

你在描述中看到的东西不会真正富有成效,除非你在实际服务器上托管SQL Server,因为它是为它设计的。

有人建议使用使用SQL Compact,但它本身仅用于从本地机器运行。

希望这有助于。

+0

访问有腐败的危险,但是,正如你所说的使用PC作为不太可能具有RAID设置的服务器,不太可能被备份,如果我可以帮助它的话,即使对于本地应用程序,我也可以避免使用sql compact。 – BugFinder

+0

是的,我只是想,如果他需要在网络上运行这个程序,并且没有像“真正的”SQL Server这样的资源,那么它不是最好的路线。我已经使用后端数据库的访问数据库,虽然他们现在的日期,我真的没有任何问题。 – Derek

+0

我每周平均恢复3-4次在网络上共享的访问数据库..因为它被破坏了。 :( – BugFinder

相关问题