从TXT文件读取时,LINQ SQL连接字符串不工作



我已经完成了一个应用程序的构建。

我清单上的最后一件事是将SQL连接字符串放在文件中,而不是硬编码(以便用户可以在需要时编辑它)。

连接失败,我从DataContext得到一个异常。

连接字符串绝对正确。唯一改变的是,因为它都在工作,我把连接字符串放在一个txt文件中,而不是硬编码它。

BEFORE (my app connected to database fine):

    private string conString = "Data Source=HP\SQLEXPRESS;Initial Catalog=LeadSystem;Integrated Security=True";
    public LogIn()
    {
        dc = new MyDataContext(conString);
        if (dc.DatabaseExists())
        {
            InitializeComponent();
        }
        else
        {
            MessageBox.Show("There has been an error, please try again. If ther problem persists, call you know who. Error: Can't connect to database! Make sure the network is all good (connection to ADMIN PC)" /*+ e.ToString()*/);
        }
    }

现在(不工作):

    private string conString;
    public LogIn()
    {
    try
        {
            ConnectionString.globalConString = System.IO.File.ReadAllText("connString.txt").ToString();
            this.conString = ConnectionString.globalConString;
        }
        catch (IOException e)
        {
            MessageBox.Show("There was an error reading the conn string file.");
            return;
        }           
        dc = new MyDataContext(conString);
        if (dc.DatabaseExists())
        {
            InitializeComponent();
        }
        else
        {
            MessageBox.Show("There has been an error, please try again. If ther problem persists, call you know who. Error: Can't connect to database! Make sure the network is all good (connection to ADMIN PC)" /*+ e.ToString()*/);
        }
    }

txt文件只包含:

Data Source=HP\SQLEXPRESS;Initial Catalog=LeadSystem;Integrated Security=True

文件在正确的位置,应用程序可以读取它(我已经用MessageBox.Show()输出了字符串)。

我能想到的是,字符串实际上不是一个字符串,实际上是一些奇怪的格式?我不晓得。

顺便说一句,异常是由试图连接的位抛出的(而不是由文件读取位抛出的——代码读取文件,但DataContext不喜欢传递给它的字符串)。

有什么想法?

谢谢

尝试删除HP后的双\:

Data Source=HPSQLEXPRESS;Initial Catalog=LeadSystem;Integrated Security=True

在定义c#字符串时,双反斜杠是有效的,因为您需要转义反斜杠字符,但是从文件中读取时,它将被视为两个反斜杠字符。

在文本文件中不需要转义反斜杠,只有在代码中才需要。该文件应该包含:

Data Source=HPSQLEXPRESS;Initial Catalog=LeadSystem;Integrated Security=True

不需要加上双反斜杠try

Data Source=HPSQLEXPRESS;Initial Catalog=LeadSystem;Integrated Security=True

相关内容

  • 没有找到相关文章

最新更新