Соединение базы данных Oracle с Excel с использованием макросов - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь подключиться к базе данных Oracle с помощью макросов Excel.

Я смог сделать это, написав ID пользователя и пароль в коде, что делает его статическим. Я хочу подключиться к базе данных с помощью всплывающего окна входа и сделать его динамическим.

Я создал лист и пытался сделать то же самое, используя функциональность Vlookup, но код не выполняется должным образом.

Вот код, который я использовал для подключения к базе данных:

strConnection = "Provider=OraOLEDB.Oracle;" & _
                "Data Source=(DESCRIPTION=(CID=xxxxxx)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=xxx)(HOST=xxxx)(PORT=xxxx)))" & _
                "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xxxxx)));" & _
                "User Id=myusrid;" & _
                "Mypswd;"

Любая помощь или предложение приветствуется.

1 Ответ

1 голос
/ 11 марта 2019

Давайте сначала разберемся с основами.Рассмотрим этот код

s = "This is a sample string with ID:=MyID and password:=MyPassword"

Допустим, вы хотите заменить MyID и MyPassword во время выполнения.Поэтому все, что вам нужно сделать, это сохранить детали в 2 переменных, а затем использовать их в основной строке.Например,

Sub sample()
    Dim s As String
    Dim id As String, pass As String

    id = "Sid"
    pass = "SomePassword"

    s = "This is a sample string with ID:=" & id & " and password:=" & pass

    Debug.Print s
End Sub

Когда вы запустите это, вы увидите, что значения были заменены.

enter image description here

Теперь давайте применим это к вашему вопросу.

Ваша строка может быть записана как

strConnection = "Provider=OraOLEDB.Oracle;" & _
                "Data Source=(DESCRIPTION=(CID=xxxxxx)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=xxx)(HOST=xxxx)(PORT=xxxx)))" & _
                "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xxxxx)));" & _
                "User Id=" & ID & ";" & _
                PASS & ";"

Теперь все, что вам нужно сделать, это принять ввод от пользователя и сохранить затем в ID и PASS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...