我编写了一个 VB.Net 应用程序,该应用程序使用包含单个表和少量存储过程的 SQL Express DB 文件。 我已成功构建并将应用程序导出到我的VPS。 当知道如何处理数据库文件时,问题出现了,网上有很多东西,但不是专门针对我的需求。 我计划在VPS上使用LocalDB但是使用命令行 - 很难知道在创建实例,启动它之后我运行的脚本是否已成功...等等,
我希望在我的VPS计算机上将安装要求保持在绝对最低水平(及时其他最终用户计算机)...因此使用LocalDB
而不是SQL Express
那么,我在VPS上需要做些什么来使我的应用程序能够连接到数据库..?当它是Access时这很简单 - (提供MDB文件并运行AccessDatabaseEngine(redistributable)
- 完成工作)
我的devt上的连接。机器按预期运行。
我的代码中的连接字符串是:
Const strSQLConnection As String = "Data Source= (localdb)\v11.0;Database=SoccerTrader;Trusted_Connection=True"
任何人都可以帮忙吗...这是让我绕过弯道......当然不能那么难......?
===========================
我在MSDN博客中发现了以下内容:
数据库作为文件:LocalDB连接字符串支持AttachDbFileName属性,该属性允许在连接过程中附加数据库文件。这使开发人员可以直接使用数据库而不是数据库服务器。假设数据库文件(带有相应* .LDF文件的* .MDF文件)存储在“C:\ MyData \ Database1.mdf”中,开发人员可以通过使用以下连接字符串开始使用它:“Data Source =( localdb)\ v11.0; Integrated Security = true; AttachDbFileName = C:\ MyData \ Database1.mdf“。
================ 6月12日加入=====================
好吧,这真的让我感到烦恼......我已经读过这篇文章,直到它出现在耳边,似乎没有什么特别针对我想做的事情。我读过的所有博客都指的是安装/运行SQL Server并更改权限等。 正如我所提到的,我正在使用VPS并建议在VPS上使用LocalDB来访问我正在编写的VB.Net应用程序的简单/小型数据库文件。 这是迄今为止的故事。 1)我在我的开发PC上构建了一个工作原型,并使用SQL Express连接到数据库文件SoccerTrader.mdf - 没问题。 在Visual Studio项目属性中,我向检查SQL Server的项目添加了一个要求..如果缺少,则安装它......2)我在VPS上安装项目,并按预期安装了SQL Server 2012 LocalDB ....请看这里..
3)我已将SoccerTrader.MDF和SoccerTrader.LDF文件复制到" C:\ BESTBETSoftware \ SoccerBot"在VPS上
4)由于实际原因,考虑到我要让它工作的问题,我已经实现了一个输入框,以便在应用程序运行时指定连接字符串....我使用的连接字符串给出以下内容..
1]:http://i.stack.imgur.com/i2tro.png
我没有更改开发PC上的任何文件权限,数据库状态不是只读.... 那么,问题是我从哪里开始......?我错过了什么..为什么它不起作用..?
答案 0 :(得分:1)
我设法解决了这个问题。
看起来,我使用的连接字符串是正常的。这是我的错误处理,不够“干净”。它发生了我的VPS上的连接,但是当应用程序尝试更新表时,我创建的目录并将MDF文件放入其中,将不允许写访问。
我将MDF移动到C:\ Users \ Public \ Documents文件夹中,并且一切正常。
答案 1 :(得分:0)
您必须使用文件夹名称/ ip-address
指定Db文件的完整路径