Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在编译的Visual Basic.NET应用程序中如何链接数据源?_Database_Vb.net_Visual Studio_Sql Server Ce - Fatal编程技术网

Database 在编译的Visual Basic.NET应用程序中如何链接数据源?

Database 在编译的Visual Basic.NET应用程序中如何链接数据源?,database,vb.net,visual-studio,sql-server-ce,Database,Vb.net,Visual Studio,Sql Server Ce,当我尝试向项目中添加新数据源时,会收到一条提示:“您选择的连接使用的本地数据文件不是当前项目的一部分。是否将该文件复制到项目中并修改连接?” 对我来说,这听起来相当晦涩,因为我对VB.NET和编写非脚本应用程序都是新手。本例中的数据源是.sdf SQL CE文件 问题1:如果我说我想将数据库复制到项目中,那么编译应用程序后会发生什么,数据库将在哪里?(我将如何从其他应用程序编辑它?) 问题2:如果我不包括它,数据源将如何保持链接?我是否可以使用文件系统环境变量(如%ProgramFiles%\M

当我尝试向项目中添加新数据源时,会收到一条提示:“您选择的连接使用的本地数据文件不是当前项目的一部分。是否将该文件复制到项目中并修改连接?”

对我来说,这听起来相当晦涩,因为我对VB.NET和编写非脚本应用程序都是新手。本例中的数据源是.sdf SQL CE文件

问题1:如果我说我想将数据库复制到项目中,那么编译应用程序后会发生什么,数据库将在哪里?(我将如何从其他应用程序编辑它?)

问题2:如果我不包括它,数据源将如何保持链接?我是否可以使用文件系统环境变量(如%ProgramFiles%\MyAppDir)进行链接

问题3:我能告诉它在web上使用只读(只需要读取)数据源吗,就像在FTP上一样


提前感谢您的帮助!=)

VisualStudio只是尝试将所有文件放在一个地方,其余文件放在项目文件夹中

Q1-SQL Ce数据库可以在您喜欢的任何地方,您可以在app.settings中使用ConnectionString设置部分。SQLCE只是一个文件,不多也不少,因此可以从任何应用程序访问。它不会编译到你的应用程序中,只是在你部署时随它一起移动

回答问题2——你可能可以,但我不确定它是否会自动为你工作

Q3-从ftp读取,可能不会,除非您将ftp客户端支持工作到应用程序中并在后台下载。另一个解决方案是将ftp映射到本地驱动器并从那里访问它

例如,在app.config中存储连接字符串(摘自app.config):


Q1-但在应用程序编译后,它必须停留在同一目录中?(例如“\file.sdf”),如果我能在类似.ini文件的文件中设置参数,那将是理想的选择。我可以吗?不,它不必在同一个目录中。该参数可以是任何位置,甚至在ini文件、注册表项或应用程序配置中,因为您在连接字符串中指定了文件的路径。
<connectionStrings>
   <add name="db" connectionString="Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0; data source=c:SomePathToSDFfile" />
</connectionStrings>
  Dim c As Configuration.ConnectionStringSettingsCollection
  Dim cn As SqlClient.SqlConnection

  c = Configuration.ConfigurationManager.ConnectionStrings
  cn = New SqlClient.SqlConnection
  cn.ConnectionString = c.Item("db").ConnectionString
  cn.Open()