sql >> Database >  >> RDS >> Database

Easysoft ODBC-stuurprogramma's gebruiken met Informatica PowerCenter

Informatica kan zowel native stuurprogramma's als stuurprogramma's van derden gebruiken om met databases te communiceren. Native stuurprogramma's worden geleverd door de databaseleverancier, bijvoorbeeld de OCI-bibliotheken van Oracle of de SQL Server Native Client van Microsoft. Native stuurprogramma's zijn de aanbevolen gegevenstoegangsmethode van Informatica, indien beschikbaar voor uw Informatica-platform.

De Informatica-distributie bevat stuurprogramma's van derden voor een aantal databases. Deze stuurprogramma's van derden gebruiken ODBC om met databases te communiceren. ODBC is een database-neutrale interface waarmee ODBC-compatibele toepassingen zoals Informatica kunnen werken met elke database waarvoor een ODBC-stuurprogramma beschikbaar is. ODBC vertaalt de gegevensquery's van Informatica naar iets dat de doeldatabase begrijpt.

ODBC heeft twee componenten:de ODBC-driver en de ODBC Driver Manager. Het ODBC-stuurprogramma is databasespecifiek, d.w.z. een Microsoft Access ODBC-stuurprogramma kan alleen communiceren met een Microsoft Access-database. De ODBC Driver Manager is de interface tussen Informatica en de ODBC-driver. De Driver Manager is verantwoordelijk voor het laden van de ODBC-driver en isoleert Informatica van de component die interageert met de database. Dankzij deze architectuur kan Informatica verbinding maken met verschillende databases zonder dat er wijzigingen aan de applicatie worden aangebracht.

Op Windows levert Microsoft een ODBC Driver Manager bij het besturingssysteem, en dit is degene die Informatica op dit platform gebruikt.

Op UNIX en Linux bevat de Informatica-distributie een ODBC Driver Manager.

We weten dus dat de ODBC-architectuur een toepassing in staat stelt meerdere database-backends te ondersteunen door verschillende databasespecifieke ODBC-stuurprogramma's in te pluggen. Hoe werkt dit in de praktijk met Informatica? Wat moet u doen om Informatica in staat te stellen ODBC-stuurprogramma's te gebruiken die niet bij de toepassing zijn geleverd.

Op Windows is dit eenvoudig. U installeert de driver onder Microsoft ODBC Driver Manager en configureert een ODBC-gegevensbron in de ODBC Data Source Administrator-applet, die zich in het Configuratiescherm van Windows bevindt. De ODBC-gegevensbron is dan beschikbaar voor gebruik in Informatica; geen verdere configuratie nodig. Een veelvoorkomende bron van verwarring op 64-bits Windows-machines is de "Architecture Mismatch"-fout die u krijgt als u een 64-bits ODBC-stuurprogramma probeert te gebruiken met een 32-bits toepassing of omgekeerd. Als uw Informatica-clienttoepassing 64-bits is, moet u deze gebruiken met een 64-bits ODBC-stuurprogramma en een gegevensbron configureren in de 64-bits versie van ODBC Data Source Administrator. De 64-bits ODBC-gegevensbronbeheerder is ofwel de enige ODBC-applet in het Configuratiescherm, of als er twee ODBC-applets zijn, wordt deze duidelijk aangeduid als 64-bits. Gebruik deze opdracht om de 32-bits ODBC-gegevensbronbeheerder uit te voeren, die u moet gebruiken als uw Informatica-client 32-bits is:

%windir%\syswow64\odbcad32.exe

Op UNIX en Linux geldt hetzelfde probleem:de architectuur van de applicatie moet dezelfde zijn als die van het ODBC-stuurprogramma. U moet daarom controleren of uw Informatica-client 32-bits of 64-bits is en vervolgens een ODBC-stuurprogramma gebruiken waarvan de architectuur dezelfde is. (Merk op dat het niet voldoende is om te weten welke architectuur uw besturingssysteem is; u kunt een 32-bits toepassing op een 64-bits besturingssysteem uitvoeren en daarom hebt u de architectuur van Informatica nodig.)

Een ander probleem voor diegenen die een ODBC-stuurprogramma van een derde willen gebruiken met Informatica, is hoe de omgeving moet worden ingesteld en de relevante ODBC-configuratiebestanden moeten worden bewerkt zodat Informatica het stuurprogramma kan gebruiken. Zoals vermeld, omvat de Informatica-distributie zowel een ODBC Driver Manager als een selectie van ODBC-stuurprogramma's voor verschillende databases. Informatica verwacht daarom:

  • Laad ODBC-stuurprogramma's vanaf een locatie onder de Informatica-directorystructuur.
  • Vind ODBC-gegevensbronnen onder de Driver Manager die bij de distributie is gebundeld.

(Voor de rest van dit artikel zullen we Easysoft ODBC-stuurprogramma's gebruiken als voorbeeld van ODBC-stuurprogramma's van derden.) Hoewel ze doorgaans worden gebruikt met de unixODBC Driver Manager, zijn Easysoft ODBC-stuurprogramma's compatibel met Informatica's ODBC Driver Manager.

Wanneer u probeert verbinding te maken met een ODBC-gegevensbron in Informatica, geeft de toepassing de naam van de gegevensbron door aan de ODBC Driver Manager. De ODBC-stuurprogrammamanager probeert het ODBC-stuurprogramma waarnaar wordt verwezen door de gegevensbron te laden en geeft de naam van de gegevensbron door aan het stuurprogramma in een verbindingsreeks. Ervan uitgaande dat er geen andere instellingen worden doorgegeven in de verbindingsreeks, zoekt het ODBC-stuurprogramma eventuele andere verbindingsdetails op in de gegevensbron.

Om te beginnen, zullen we Easysoft's Salesforce ODBC Driver installeren op onze Informatica-testmachine. We accepteren de standaardkeuzes tijdens de installatie en daarom wordt het ODBC-stuurprogramma geïnstalleerd in /usr/local/easysoft en een voorbeeldgegevensbron is geïnstalleerd in /etc/odbc.ini :

$ cd /tmp
$ cd odbc-salesforce-1.0.36-linux-x86-64-ul64
$ su
# ./install

Na het bewerken van de voorbeeldgegevensbron zodat deze de gebruikersnaam, het wachtwoord en het beveiligingstoken van Salesforce specificeerde, gebruiken we isql om de verbinding met de gegevensbron te testen.

# vi /etc/odbc.ini
[SF_SAMPLE]
Description=Easysoft ODBC-SalesForce Driver
Driver=Easysoft ODBC-SalesForce
uri=https://login.salesforce.com/services/Soap/u/27
[email protected]
password=my_salesforce_password
token=1234567ABCDEFGHIJK
$ /usr/local/easysoft/unixODBC/bin/isql.sh SF_SAMPLE
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

We hebben nu een geïnstalleerde, gelicentieerde en functionerende ODBC-driver, maar deze is nog niet beschikbaar voor gebruik in Informatica.

Om Informatica in staat te stellen de gegevensbron te vinden en het stuurprogramma te laden, moeten we:

  • Kopieer de gegevensbron van /etc/odbc.ini naar de $ODBCHOME/odbc.ini bestand in de Informatica-distributie.
  • Kopieer het volgende gedeelte van /etc/odbcinst.ini naar de $ODBCHOME/odbcinst.ini bestand in de Informatica-distributie:
    [Easysoft ODBC-SalesForce]
    Description=Easysoft ODBC-SalesForce Driver
    Driver=/usr/local/easysoft/sf/lib/libessf.so
    Setup=/usr/local/easysoft/sf/lib/libessfS.so
    Threading=0
    FileUsage=1
    DontDLClose=1
    UsageCount=1
    

U moet ook de Informatica-omgeving configureren zodat de C runtime-bibliotheek de ODBC-stuurprogrammabibliotheken kan laden. Bewerk de juiste omgevingsvariabele voor uw platform en dynamische linker (LD_LIBRARY_PATH , LIBPATH ) enzovoort). Ons Informatica-platform is Linux en daarom hebben we de volgende Salesforce ODBC-stuurprogrammadirectory's toegevoegd aan LD_LIBRARY_PATH in het profielbestand voor de Informatica PowerCenter-gebruiker:

/usr/local/easysoft/sf
/usr/local/easysoft/lib

Vervolgens hebben we het PowerCenter-domein opnieuw opgestart, zodat Informatica de wijzigingen oppikte.

De Salesforce-verbinding was toen beschikbaar als relationeel doel of bron (door gebruik te maken van de Salesforce-gegevensbron in een relationele verbinding waarvan het type was ingesteld op ODBC) in onze Informatica-workflows.


  1. Hoe los ik de fout 'Named Pipes Provider, error 40 - Kan geen verbinding met' SQL Server' op?

  2. Prestatiemythen:tabelvariabelen zijn altijd in het geheugen

  3. Hoe het verschil tussen twee datums in T-SQL te berekenen

  4. PostgreSQL-streamingreplicatie - een diepe duik