Ik heb een bestaande Access database met daarin (o.a.) een gelinkte tabel naar Oracle. De bedoeling is dat data uit die gelinkte tabel geselekteerd wordt en geappend wordt aan een tabel in Access.
Nu is het altijd zo dat je de eerste keer dat je zo'n gelinkte tabel opent, je een prompt krijgt waarin je de usernaam en wachtwoord voor Oracle moet invoeren. Dit wordt in deze Access database echter onderhuids gedaan in een loginprocedure. Ik hoef dus nooit voor die tabel de Oracle usernaam en wachtwoord in te geven. Dit is voor de gebruiker ook niet bekend, die wordt op een hele sneaky manier via een stored procedure uit een andere database gehaald.
Dit gaat ook goed als ik in Access een append query maak.
Maar nu heb ik die append query in VBA gemaakt, en dan vraagt hij wel opeens naar usernaam en wachtwoord van Oracle!
Hoe kan ik dat omzeilen?
De query heb ik met ADODB gemaakt en ziet er zo uit:
Zijn er nog andere tips of mogelijkheden?
Nu is het altijd zo dat je de eerste keer dat je zo'n gelinkte tabel opent, je een prompt krijgt waarin je de usernaam en wachtwoord voor Oracle moet invoeren. Dit wordt in deze Access database echter onderhuids gedaan in een loginprocedure. Ik hoef dus nooit voor die tabel de Oracle usernaam en wachtwoord in te geven. Dit is voor de gebruiker ook niet bekend, die wordt op een hele sneaky manier via een stored procedure uit een andere database gehaald.
Dit gaat ook goed als ik in Access een append query maak.
Maar nu heb ik die append query in VBA gemaakt, en dan vraagt hij wel opeens naar usernaam en wachtwoord van Oracle!
Hoe kan ik dat omzeilen?
De query heb ik met ADODB gemaakt en ziet er zo uit:
Visual Basic .NET:
Om die Oracle loginprompt te omzeilen, moet ik dan op de een of andere manier de connectionstring naar die Oracle DB laten verwijzen? Dat zou ik denk ik nog wel voor elkaar krijgen, als ik tenminste de connectionstring uit de login form naar dit form kan krijgen.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| Dim sQuery As String Dim rs As New ADODB.Recordset Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.ConnectionString = CurrentProject.Connection cn.Open 'run append query sQuery = 'hele grote append query rs.Open sQuery, cn, adOpenKeyset, adLockPessimistic, adCmdText 'rs.Close cn.Close |
Zijn er nog andere tips of mogelijkheden?
Signatures zijn voor boomers.