Выполнение SQL-запроса через VBA

Выполнение SQL-запроса через VBA

Я новичок здесь, но я всегда проверяю этот сайт, когда у меня возникают проблемы с 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

Вот какую ошибку я получаю: Ошибка выполнения

Я попробовал поискать ошибку в Google и обнаружил, что сервер должен быть в system32; я проверил «Управление компьютером», но там нет ничего, связанного с SQL.

Есть ли у вас какие-либо предложения?

Заранее извиняюсь, если есть другая тема по той же проблеме, но пока я не смог найти ничего, что могло бы ее решить.

EDIT: Я не включил ТАБЛИЦУ, идентификатор пользователя и пароль, так как это конфиденциальные данные, которыми я не могу поделиться в сети; однако, моя проблема связана с драйвером, сервером и базой данных; я не уверен, что туда вводить. Кроме того, где мне следует указать URL для моего запроса (jdbc:...)?

Обычно я использую SQL Workbench для получения данных и копирую и вставляю их в рабочий лист каждую неделю; это то, что я хотел бы, чтобы макрос делал вместо этого. Извините, если я не объяснил все правильно перед редактированием.

Связанный контент