我有一个 ASP 文件。实际上,我使用文件中的 connectionString 连接到数据库。
sConnString = "Driver={SQL Server}; Server=localhost; Database=DB"
有没有办法从 Web.Config 中读取 ConnectionString?
编辑:
得到它的工作:
' Imports a connection string from an xml file (usually web.config)
Function ImportConnectionString(webConfig, attrName, reformatDSN)
Dim oXML, oNode, oChild, oAttr, dsn
Set oXML=Server.CreateObject("Microsoft.XMLDOM")
oXML.Async = "false"
oXML.Load(Server.MapPath(webConfig))
Set oNode = oXML.GetElementsByTagName("connectionStrings").Item(0)
Set oChild = oNode.GetElementsByTagName("add")
' Get the first match
For Each oAttr in oChild
If oAttr.getAttribute("name") = attrName then
dsn = oAttr.getAttribute("connectionString")
If reformatDSN Then
' Optionally reformat the connection string (adjust as needed)
dsn = Replace(dsn, "User ID=", "UID=")
dsn = Replace(dsn, "Password=", "PWD=")
dsn = Replace(dsn, "Data Source=", "Server=")
dsn = Replace(dsn, "Initial Catalog=", "Database=")
dsn = Replace(dsn, "Persist Security Info=True;", "")
dsn = "Provider=MSDASQL;Driver={SQL Server};" & dsn
End If
ImportConnectionString = dsn
Exit Function
End If
Next
End Function
用法:
dsn = ImportConnectionString("..\web.config", "ConnectionStringName", false)
sql = "SELECT * FROM MyTable"
Set oConn = Server.CreateObject("ADODB.Connection")
Set oRS = Server.CreateObject("ADODB.RecordSet")
oConn.Open dsn
oRS.Open sql, oConn
If NOT oRS.EOF Then
oRS.MoveFirst
Do
Response.Write(" " & oRS("Column1") & "<br/>")
oRS.MoveNext
Loop Until oRS.EOF
End If
谢谢您的帮助