VBA를 통해 SQL 쿼리 실행

VBA를 통해 SQL 쿼리 실행

저는 이곳에 처음 왔지만 Excel에 문제가 있을 때마다 항상 이 웹사이트를 확인하고 지금까지 항상 도움을 주셨습니다! 이제 VBA에 문제가 있습니다. 매크로를 통해 SQL 쿼리를 "호출"하고 싶으므로 기본적으로 쿼리에서 나오는 데이터를 활성 시트에 붙여넣어 복사합니다.

나는 이 웹사이트에서 찾은 다음 쿼리로 시도했습니다(직접 물어보기 전에 너무 많은 것을 확인했기 때문에 어느 스레드인지 확실하지 않습니다).

Sub sql()
'Initializes variables
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim ConnectionString As String
Dim StrQuery As String

'Setup the connection string for accessing MS SQL database
   'Make sure to change:
       '1: PASSWORD
       '2: USERNAME
       '3: REMOTE_IP_ADDRESS
       '4: DATABASE
    ConnectionString = connString = "Driver={"mydriver"};Server="myserver";Database="mydatabase";UID="Myuserid";PWD="mypwd";Port=PortNum;SSL=true;Sslmode=Require"

    'Opens connection to the database
    cnn.Open ConnectionString
    'Timeout error in seconds for executing the entire query; this will run for 15 minutes before VBA timesout, but your database might timeout before this value
    cnn.CommandTimeout = 900

    'This is your actual MS SQL query that you need to run; you should check this query first using a more robust SQL editor (such as HeidiSQL) to ensure your query is valid
    StrQuery = "Select * from YYY.XXXX where date >='2020-03-01'"

    'Performs the actual query
    rst.Open StrQuery, cnn
    'Dumps all the results from the StrQuery into cell A2 of the first sheet in the active workbook
    Sheets(1).Range("A2").CopyFromRecordset rst
End Sub

내가 얻는 오류는 다음과 같습니다. 런타임 에러

나는 오류에 대해 인터넷 검색을 시도했고 내 system32에 서버가 있어야 한다는 것을 알았습니다. "컴퓨터 관리"를 확인했는데 거기에는 SQL과 관련된 내용이 없습니다.

의견 있으십니까?

같은 문제에 대한 다른 스레드가 있다면 미리 사과드립니다. 그러나 현재까지는 이를 해결할 수 있는 방법을 찾지 못했습니다.

편집: 테이블, 사용자 ID 및 비밀번호는 온라인으로 공유할 수 없는 민감한 데이터이므로 포함하지 않았습니다. 그러나 내 문제는 드라이버, 서버 및 데이터베이스에 있습니다. 거기에 무엇을 입력해야 할지 잘 모르겠습니다. 또한 쿼리(jdbc:...)에 대한 URL을 어디에 입력해야 합니까?

저는 보통 SQL 워크벤치를 사용하여 데이터를 가져오고 매주 워크시트에 복사하여 붙여넣습니다. 이것이 매크로가 대신 수행하고 싶은 것입니다. 편집하기 전에 모든 내용을 정확하게 설명하지 못했다면 죄송합니다.

관련 정보