如何将VBScript(Excel)连接到SQL Server Web数据库(通过IP)

bn31dyow  于 2023-01-12  发布在  SQL Server
关注(0)|答案(2)|浏览(154)

我在我的工作中尝试为我做一些未知的事情,你看,我们尝试将一个带有VBScript宏的Excel文档连接到存储在Web服务器中的数据库,但由于某种原因无法识别用户并反复抛出错误,我放弃了连接问题,因为它返回SQL错误,而不是超时或服务器不存在之类的东西,我们正在尝试连接到服务器使用的ip地址,我们还检查了日志方法是在混合(win和sql)和remotes到服务器的连接也将启用,如果我使用连接字符串中提供的凭据(用户名和密码)我实际上可以登录到SQL Server,没有任何问题,我们还尝试了直接连接(外部VPN)因为我们认为它可能是我们的防火墙,但得到了同样的错误无论如何,所以我们不知道它可能是什么,我们有点运行的想法如何做到这一点,我将在下面发布我用来尝试连接的代码(显然是测试数据,但与现实相似)
图片的错误,我得到(不张贴原来的,因为它是在西班牙语,但非常类似于此):

代码我目前正在尝试:

Sub excel_sqlsrv()
Set rs = CreateObject("ADODB.Recordset")
Set conn = CreateObject("ADODB.Connection")
strConn = "Driver={ODBC Driver 17 for SQL Server};Server=10.20.30.5;Database=mydb;UID=sa;PWD=abcd12345;"
conn.Open strConn
strSqL = "SELECT * FROM USERS"
rs.Open strSqL
End Sub

任何建议,提示或技巧可能是巨大的帮助我,我将期待着任何形式的评论,提前感谢

0mkxixxg

0mkxixxg1#

使用ODBC数据源管理器创建一个名为mydb的连接并测试其工作情况。

Sub excel_sqlsrv()

    Const strConn = "mydb" ' ODBC source
    Const strsql = "SELECT * FROM USERS"
    
    Dim conn As Object, rs As Object
    Set rs = CreateObject("ADODB.Recordset")
    Set conn = CreateObject("ADODB.Connection")
    
    On Error Resume Next
    conn.Open strConn
    
    If conn.Errors.Count > 0 Then
        Dim i, s
        For i = 0 To conn.Errors.Count - 1
            s = s & conn.Errors(i) & vbLf
        Next
        MsgBox s
    Else
        On Error GoTo 0
        Set rs = conn.Execute(strsql)
        Sheet1.Range("A1").CopyFromRecordset rs
    End If
    
End Sub

f87krz0w

f87krz0w2#

您可以尝试使用OLEDB访问接口而不是ADODB。

相关问题