old*_*ort 1 c# winforms localdb
我正在尝试从 ac# winforms 项目构建我的第一个 .exe。我正在使用 Flexera 安装盾。到目前为止,我可以构建和安装它,并且它在我正在开发的同一台机器上成功运行。在这个项目中,我使用的是本地数据库。我也可以将它安装在另一台机器上,但是一旦我尝试通过按钮访问 Db,它就会抱怨。我认为这与连接字符串有关。至少它在我试图访问 Db 的那一行抱怨:
Error 26 - Error Locating Server/Instance Specified
Run Code Online (Sandbox Code Playgroud)
这是我明显错误的连接字符串:
string connectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=""C:\Users\idiot\Documents\Visual Studio 2013\Projects\Vis\Vis\LocalDbVisTest.mdf"";Integrated Security=True";
Run Code Online (Sandbox Code Playgroud)
感谢您提前提供任何帮助或提示!
不要为连接字符串使用绝对路径,而是使用
Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\LocalDbVisTest.mdf;Integrated Security=True
Run Code Online (Sandbox Code Playgroud)
你的程序找不到数据库的原因是因为它正在查找
C:\Users\idiot\Documents\Visual Studio 2013\Projects\Vis\Vis\LocalDbVisTest.mdf
Run Code Online (Sandbox Code Playgroud)
大概在您的客户端机器上不存在。
您可以DataDirectory使用AppDomain.CurrentDomain.SetData("DataDirectory", path). 您可以通过使用获取可执行文件的路径AppDomain.CurrentDomain.BaseDirectory
| 归档时间: |
|
| 查看次数: |
3974 次 |
| 最近记录: |