我是Server和.net的新手。如果我的问题在表决前不清楚,请告诉我。
我正在用C#开发一个Windows应用程序。我应该给用户在网络驱动器上连接到.mdf文件的选项。在我的机器上,我有Windows和Server身份验证。用户具有SQL身份验证,因此我应该使用userid和pwd。我自己和用户在那个网络驱动器上工作,读/写/修改。我们几乎共享文档,从网络驱动器中添加和删除文档。
这是设计师

我将选择位于网络驱动器中的Server数据库.mdf文件,然后进行测试连接。对于测试连接,这是代码
string sTemp = System.Configuration.ConfigurationManager.AppSettings["connectionStringShare"];
string connectionString = sTemp.Replace("{AppDir}", txtDB.Text.Trim());
using (SqlConnection objSqlConnection = new SqlConnection(connectionString))
{
try
{
objSqlConnection.Open();
objSqlConnection.Close();
MessageBox.Show("Connection is successfull");
}
catch (Exception ex)
{
MessageBox.Show("Error : " + ex.Message.ToString());
}
}这是连接字符串
<add key="connectionStringShare"
value="Data Source=.\SQLEXPRESS;Initial Catalog=TableSQLExpress;AttachDBFilename={AppDir};Integrated Security=SSPI;user id=sa;password=pwd;" />这是我收到的错误消息
由于操作系统错误3(系统找不到指定的路径),文件"S:\zrep\TableSQLExpress.mdf“的目录查找失败。 无法将文件“S:\zrep\TableSQLExpress.mdf”附加为数据库“TableSQLExpress”。
我更改了连接字符串,并尝试使用windows身份验证。不走运。如果需要提供更多的细节,请告诉我。既然我是这个领域的新手,请给我详细的答复。我很高兴能找到这群人。感谢所有调查此事的人。
发布于 2014-12-23 11:56:42
当您使用基于服务器的SQL Server (即)时,您无法通过网络驱动器共享数据库文件,这是设计上的。即使使用开关覆盖默认Server行为并为数据库启用UNC路径,您的数据也会被试图使用单个数据库MDF文件的多个服务器实例破坏。如果需要在无服务器环境中承载数据库(仅使用网络驱动器),则可以选择( Server )版本。但请注意,在这种情况下,只有一个用户能够同时访问数据库文件(独占锁定->,性能低下)。此外,Server没有存储过程。
https://stackoverflow.com/questions/25490722
复制相似问题