【问题标题】:What is proper way to define connection string VB定义连接字符串 VB 的正确方法是什么
【发布时间】:2013-07-07 03:15:34
【问题描述】:

我的 Visual Basic 项目使用这个连接字符串:

Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Admin\Desktop\IzolacCold V2\IzolacCold V2\izolac_cold_dbv2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

当我调试它并转到调试文件夹时,或者当我“发布”它时,就会出现问题。如果我运行 exe 文件程序正常工作,但它将数据保存在连接字符串中定义的数据库中,而不是在 DEBUG 文件夹(或 RELESE 文件夹)中创建的数据库中。

如何正确连接到我的数据库。如何建立正确的连接字符串?

【问题讨论】:

    标签: vb.net string connection


    【解决方案1】:

    您应该使用DataDirectory 替换字符串。

    例如,您可以将连接字符串写为

    Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\izolac_cold_dbv2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True
    

    在您的代码中,您可以在任何尝试打开连接之前控制执行此代码的 DataDirectory 的确切位置。

    Dim commonDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
    Dim myAppDataFolder = Path.Combine(commonDataFolder, "MyAppName")
    if Not Directory.Exists(myAppDataFolder) Directory.CreateDirectory(myAppDataFolder)
    AppDomain.CurrentDomain.SetData("DataDirectory", myAppDataFolder)
    

    (此示例使用 C:\programdata\myAppName 文件夹,因为它是您的应用程序所需的读/写数据文件的最合适位置

    您的部署过程应注意创建上述文件夹并将数据库文件放置在此位置。

    【讨论】:

    • 谢谢。我一定会试试的。 :)
    • 我相信你只是阻止了精神崩溃 :) 谢谢!
    猜你喜欢
    • 2014-08-26
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 2023-03-03
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多