Even een korte situatieschets: de database voor ons ERP systeem draait op een Oracle-database, daarnaast
hebben we een MS SQL Server 2008R2 omgeving welke voor ETL/reporting/etc gebruikt wordt.
Vanuit deze SQL server omgeving zijn er 2 applicaties welke connectie met de Oracle db moeten maken:
- SQL Server Management Studio, middels een Linked Server (SSMS)
- SQL Server Business Intelligence Development Studio (BIDS)
Beidde maken gebruik van de "Oracle Provider for OLEDB"
Momenteel wordt er nog gebruik gemaakt van een lokale TNSNames.ora file op de SQL server. Er zijn momenteel wat infra-wijzigen gaande/gepland welke niet altijd tijdig naar ons team gecommuniceerd worden, waardoor het al eens is voorgekomen dat de test/acceptatie omgeving van de Oracle database opeens naar een andere (virtual) server verhuist was, waardoor wij geen verbinding meer konden maken.
Er is ook een TNSNames file welke door het ERP team beheert wordt, deze bevind zich op een netwerkshare. Deze wordt bij iedere infra-wijziging ge-update.
We willen dan ook de settings zo aanpassen dat de OLEDB connecties gebruik maken van deze centrale TNSNAMES, ipv de lokale.
Ondertussen heb ik het half werkend: BIDS maakt gebruik van de centrale TNSNAMES file.
SSMS lijkt echter niet van plan mee te werken - zowel de bestaande linked server, als eventueel nieuw aangemaakte linked servers, naar de Oracle DB blijven de locale TNSNAMES gebruiken.
Wat heb ik gedaan:
- Environment variabele TNS_ADMIN aangemaakt, welke naar de directory op de share verwijst waar de TNSNAMES zich bevindt.
- TNS_ADMIN key in het register aangemaakt, met als waarde de directory op de share waar de TNSNAMES zich bevindt.
in command promt geven zowel
Hier loop ik echter vast - ik heb geen idee wat ik nog kan aanpassen om te zorgen dat de linked server in SSMS gebruik gaat maken van de centrale TNSNAMES.
Heeft er iemand enig idee hoe ik dit kan oplossen?
hebben we een MS SQL Server 2008R2 omgeving welke voor ETL/reporting/etc gebruikt wordt.
Vanuit deze SQL server omgeving zijn er 2 applicaties welke connectie met de Oracle db moeten maken:
- SQL Server Management Studio, middels een Linked Server (SSMS)
- SQL Server Business Intelligence Development Studio (BIDS)
Beidde maken gebruik van de "Oracle Provider for OLEDB"
Momenteel wordt er nog gebruik gemaakt van een lokale TNSNames.ora file op de SQL server. Er zijn momenteel wat infra-wijzigen gaande/gepland welke niet altijd tijdig naar ons team gecommuniceerd worden, waardoor het al eens is voorgekomen dat de test/acceptatie omgeving van de Oracle database opeens naar een andere (virtual) server verhuist was, waardoor wij geen verbinding meer konden maken.
Er is ook een TNSNames file welke door het ERP team beheert wordt, deze bevind zich op een netwerkshare. Deze wordt bij iedere infra-wijziging ge-update.
We willen dan ook de settings zo aanpassen dat de OLEDB connecties gebruik maken van deze centrale TNSNAMES, ipv de lokale.
Ondertussen heb ik het half werkend: BIDS maakt gebruik van de centrale TNSNAMES file.
SSMS lijkt echter niet van plan mee te werken - zowel de bestaande linked server, als eventueel nieuw aangemaakte linked servers, naar de Oracle DB blijven de locale TNSNAMES gebruiken.
Wat heb ik gedaan:
- Environment variabele TNS_ADMIN aangemaakt, welke naar de directory op de share verwijst waar de TNSNAMES zich bevindt.
- TNS_ADMIN key in het register aangemaakt, met als waarde de directory op de share waar de TNSNAMES zich bevindt.
in command promt geven zowel
code:
als 1
| echo %TNS_ADMIN% |
code:
de juiste directory op de share als output.1
| TNSPING /? |
Hier loop ik echter vast - ik heb geen idee wat ik nog kan aanpassen om te zorgen dat de linked server in SSMS gebruik gaat maken van de centrale TNSNAMES.
Heeft er iemand enig idee hoe ik dit kan oplossen?
Your lack of planning is not my emergency