You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET加载XML中SQL Server连接信息失败,求解决方案

修复从XML加载数据库连接信息的问题

问题分析与修复步骤

1. XML配置文件的错误修正

你的XML属性值末尾多了不必要的分号,这些分号会被直接带入连接字符串,导致SQL Server无法识别正确的服务器、数据库名称。

修正后的XML:

<config>
    <conn Host="localhost\SQLEXPRESS" Sec="true" Database="KYC5" />
</config>

2. LINQ to XML与传统XML API混用问题

你同时使用了XDocument(LINQ to XML)和XmlNode(传统XmlDocument API),两者不能直接兼容,会导致节点获取失败。建议统一使用LINQ to XML简化操作。

3. 连接字符串拼接缺少分隔空格

拼接连接字符串时,各个参数之间没有空格分隔,会导致格式错误(比如server=xxxintegrated security=xxx会被识别为无效的服务器名称)。

4. 文件路径的拼写与格式问题

代码中加载的文件名coneccion.xml可能是拼写错误(正确应为connection.xml);同时加载文件时需添加路径分隔符\,避免目录路径与文件名直接拼接导致的路径错误。


修正后的完整代码

' 加载XML文件(注意文件名拼写与路径分隔符)
Dim doc = XDocument.Load(My.Application.Info.DirectoryPath & "\connection.xml")
' 使用LINQ to XML获取conn节点的属性
Dim connElement = doc.Root.Element("conn")
Dim host As String = connElement.Attribute("Host").Value
Dim sec As String = connElement.Attribute("Sec").Value
Dim database As String = connElement.Attribute("Database").Value

' 拼接正确格式的连接字符串(参数间添加空格与分号分隔)
Public cnx As New SqlConnection($"server={host}; integrated security={sec}; Database={database};")

额外建议

  • 可以用Trusted_Connection=Yes替代integrated security=true,两者功能一致但可读性更强。
  • 建议添加异常捕获(如Try-Catch),方便排查文件加载或连接失败的具体原因。

内容的提问来源于stack exchange,提问作者Abdulrahim Omais

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 15:48:30