Database 在编译的Visual Basic.NET应用程序中如何链接数据源?
当我尝试向项目中添加新数据源时,会收到一条提示:“您选择的连接使用的本地数据文件不是当前项目的一部分。是否将该文件复制到项目中并修改连接?” 对我来说,这听起来相当晦涩,因为我对VB.NET和编写非脚本应用程序都是新手。本例中的数据源是.sdf SQL CE文件 问题1:如果我说我想将数据库复制到项目中,那么编译应用程序后会发生什么,数据库将在哪里?(我将如何从其他应用程序编辑它?) 问题2:如果我不包括它,数据源将如何保持链接?我是否可以使用文件系统环境变量(如%ProgramFiles%\MyAppDir)进行链接 问题3:我能告诉它在web上使用只读(只需要读取)数据源吗,就像在FTP上一样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
提前感谢您的帮助!=) 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()