Bijlage B, Werkblad voor het aanpassen van directory's geeft aan welke gegevens u moet verzamelen. Misschien vindt u het handig om een kopie te maken van het werkblad en hierop de waarden voor uw systeem in te vullen.
U kunt de volgende informatie opgeven in de knooppuntdirectory:
Notatie: 1-8 enkelbyte alfanumerieke tekens, inclusief het hekje (#), het apenstaartje (@), het dollarteken ($) en het onderstrepingsteken (_). De naam mag niet beginnen met een onderstrepingsteken of een cijfer.
Voor niet-lokale hosts van DB2 for OS/390 wordt de hostnaam afgebeeld in het bericht DSNL004I (DOMAIN=hostnaam) als DDF (Distributed Data Facility) wordt gestart.
Bij niet-lokale hosts van DB2 for OS/390 wordt het poortnummer als PORT gedefinieerd in de BSDS (Boot Strap Data Set) en wordt ook vermeld in het bericht DSNL004I (TCPPORT=poortnummer) als DDF (Distributed Data Facility) wordt gestart.
Opmerking: | Een tweede poort voor het opnieuw synchroniseren van een COMMIT in twee fasen via TCP/IP-verbindingen wordt toegewezen door de server. De BSDS voor DB2 Universal Database for OS/390 wijst bijvoorbeeld een poortnummer (RESPORT) toe voor het opnieuw synchroniseren van uitsluitend inkomende verbindingen aan DB2 Universal Database for OS/390. Hiervoor hoeft geen servicenaam te worden gedefinieerd. |
U kunt de volgende gegevens opgeven in de DCS-directory:
Notatie: 1-8 enkelbyte alfanumerieke tekens, inclusief het hekje (#), het apenstaartje (@), het dollarteken ($) en het onderstrepingsteken (_). De naam mag niet beginnen met een onderstrepingsteken of een cijfer.
U kunt de LOCATION NAME bepalen door u aan te melden bij TSO en de volgende SQL-query uit te voeren met een van de beschikbare queryprogramma's:
select current server from sysibm.sysdummy1
De LOCATION NAME wordt ook gedefinieerd in de MVS/ESA BSDS (Boot Strap Data Set) en wordt tevens vermeld in het bericht DSNL004I (LOCATION=locatie) als DDF (Distributed Data Facility) wordt gestart.
U kunt de LOCATION NAME bepalen door u aan te melden bij TSO en de volgende SQL-query uit te voeren met een van de beschikbare queryprogramma's:
select current server from sysibm.sysdummy1
De LOCATION NAME wordt ook gedefinieerd in de BSDS (Boot Strap Data Set) en wordt tevens vermeld in het bericht DSNL004I (LOCATION=locatie) als DDF (Distributed Data Facility) wordt gestart.
Notatie: AR <naam_toepassingenrequester>
De standaard is de toepassingenrequester van DB2 Connect.
SQL30000N SQL30040N SQL30050N SQL30051N SQL30053N SQL30060N SQL30070N SQL30071N SQL30072N SQL30073N SQL30074N SQL30090N
Als de D-parameter ,D niet is opgegeven, wordt de verbinding uitsluitend verbroken als de volgende SQLCODE's worden teruggezonden:
SQL30020N SQL30021N SQL30041N SQL30061N SQL30081N
Zie de Naslagboek bij berichten voor een beschrijving van deze codes.
Opmerking: | Als door een fout de verbinding met DB2 Connect wordt verbroken, wordt automatisch een ROLLBACK uitgevoerd. |
De toepassing ontvangt een SQL-code (-30081) die aangeeft dat de verbinding met de server is beëindigd. De toepassing moet in dat geval een nieuwe verbinding met de host- of de AS/400-databaseserver tot stand brengen, zodat aanvullende databaseopdrachten kunnen worden verwerkt. Op andere platforms dan AIX V4.1 en hoger, SNA Server V3.1 en hoger, OS/2, Windows NT en Windows 2000 wordt de optie voor het automatisch verbreken van de verbinding niet ondersteund door DB2 Connect als een daarvan gebruikmakende toepassing een interruptopdracht ontvangt.
Opmerking: | Voor TCP/IP-verbindingen werkt deze ondersteuning op alle platforms. De client kan de socket uitschakelen, maar afhankelijk van de serverimplementatie kan de ontvangstkwaliteit verschillen. DB2 Universal Database for OS/390 maakt gebruik van asynchrone socketopdrachten. Hierdoor kan het verloren gaan van de verbinding worden vastgesteld en een ROLLBACK worden uitgevoerd op alle langlopende SQL-instructies in uitvoering. |
Er is een nieuwe omgevingsvariabele of registervariabele voor het profiel met de naam DB2SYSPLEX_SERVER. Deze variabele kan worden gebruikt om de ondersteuning voor SYSPLEX op werkstationniveau uit te schakelen.
Stel dat u de volgende CLP-instructies (Opdrachtregelinterface) opgeeft:
catalog appc node nynode remote nycpic security program catalog dcs database nydb1 as new_york catalog database nydb1 as newyork1 at node nynode authentication dcs
De databasealias newyork1 moet worden gebruikt om toegang te krijgen tot een hostdatabase zonder datumomzetting, omdat geen datumselectie is opgegeven.
Met de nieuwe ondersteuning voor datumnotatie kunt u nu echter de volgende CLP-opdrachten gebruiken. Let er daarbij wel op dat de waarde LOCALDATE tussen twee paar dubbele aanhalingstekens moet worden gezet, omdat de Opdrachtregelinterface wordt gebruikt en de parameterreeks zelf wordt opgegeven met dubbele aanhalingstekens. Het teken "\" (schuine streep naar links) wordt gebruikt om te voorkomen dat de dubbele aanhalingstekens uit de specificatie LOCALDATE worden verwijderd. Zie ook De parameterreeks opgeven.
catalog dcs database nydb2 as new_york parms \",,,,,,LOCALDATE=\"\"JJJJMMDD\"\"\" catalog database nydb2 as newyork2 at node nynode authentication dcs
De databasealias "newyork2" geeft toegang tot dezelfde database, maar heeft bovendien een datumselectie. Dit voorbeeld illustreert dat het selectiemasker voor datumnotatie wordt opgegeven met het sleutelwoord LOCALDATE. Dit is de zevende positionele parameter in het veld PARMS van een DCS-directorygegeven.
De datumselectie is alleen geldig als aan ALLE volgende voorwaarden is voldaan:
De volgende reeksen zijn bijvoorbeeld geldige datumselecties:
"JJjjMmDd" - De cijfers voor J, M en D zijn niet hoofdlettergevoelig. "MM+DD+JJJJ" - De selecties mogen langer zijn dan 10 bytes en andere tekens bevatten dan J, M en D. "abcJJ+MM" - Er hoeven geen D's voor te komen in de selectie.
De volgende reeksen zijn ongeldige datumselecties:
"JJJJjMMDD" - Deze reeks is ongeldig omdat de reeks 5 J's bevat. "JJJJMDDM" - Deze reeks is ongeldig omdat de reeks twee reeksen met een M bevat.
Als de datumselectie ongeldig is, wordt er geen foutbericht afgebeeld. De selectie wordt dan genegeerd. Zelfs een geldige datumselectie wordt niet altijd gebruikt. De omzetting van een datumnotatie die is gebaseerd op een geldige datumselectie, wordt alleen uitgevoerd als aan ALLE onderstaande voorwaarden is voldaan:
In de Het MVS-wachtwoord wijzigen vindt u een voorbeeld van het opnemen van een DCS-databasedirectory in de catalogus door CHGPWD_SDN als volgt te gebruiken:
catalog dcs database db1 as dsn_db_1 parms ",,,,,,,CHGPWD_SDN=pempgm"
",,,,,,,,BIDI=xyz"
, waarbij xyz de vervangende waarde voor CCSID aangeeft (zie (BIDI_NOTE1)).
Raadpleeg de Administration Guide voor een overzicht van ondersteunde BiDi CCSID's met bijbehorende reekstypen.
De volgende kenmerken van BiDi zijn vereist voor de juiste verwerking van BiDi-gegevens op verschillende platforms:
Omdat de standaardwaarden op verschillende platforms van elkaar verschillen, kunnen zich problemen voordoen bij het verzenden van DB2-gegevens van het ene naar het andere platform. Windows-platforms maken bijvoorbeeld gebruik van LOGICAL UNSHAPED-gegevens terwijl de indeling van gegevens op MVS en OS/390 meestal SHAPED VISUAL is. Daarom worden gegevens onjuist afgebeeld als deze zonder ondersteuning voor BiDi-kenmerken worden verzonden van DB2 for MVS of OS/390 naar DB2 Connect op Windows.
Wanneer er gegevens worden uitgewisseld tussen DB2 Connect en een database op een server, wordt de conversie van de ontvangen gegevens doorgaans uitgevoerd door de ontvanger. Hetzelfde zou normaliter van toepassing zijn op de BiDi-indelingsconversie die naast de gebruikelijke conversie van de codetabel wordt uitgevoerd. Er bestaat op dit moment echter geen DB2-product voor de host dat BiDi-specifieke CCSID's of BiDi-indelingsconversie ondersteunt. Daarom is in DB2 Connect een optionele mogelijkheid opgenomen om BiDi-indelingsconversie uit te voeren op gegevens die op het punt staan te worden verzonden naar de serverdatabase, naast de conversie van gegevens die van de serverdatabase worden ontvangen.
De BiDi CCSID-waarde van de serverdatabase moet worden vervangen om DB2 Connect in staat te stellen een BiDi-indelingsconversie uit te voeren op uitgaande gegevens naar de serverdatabase (zie (BIDI_NOTE2)). Hiervoor wordt de parameter BIDI gebruikt in het veld PARMS van het item voor de serverdatabase in de DCS-databasedirectory.
Het gebruik van dit kenmerk kan het beste worden geïllustreerd aan de hand van een voorbeeld.
Stel dat u een Hebreeuwse DB2-client hebt die CCSID 62213 uitvoert (BiDi-reekstype 5) en dat u toegang wilt verkrijgen tot een DB2-hostdatabase waarop CCSID 424 wordt uitgevoerd (BiDi-reekstype 4). U weet echter dat in plaats daarvan de gegevens in de DB2-database zijn gebaseerd op CCSID 8616 (BiDi-reekstype 6).
Er doen zich in deze situatie twee problemen voor. In de eerste plaats kent de DB2-hostdatabase het verschil niet tussen de BiDi-reekstypen met CCSID's 424 en 8616. Het tweede probleem is dat de DB2-hostdatabase het DB2-client CCSID (62213) niet herkent. Deze ondersteunt alleen CCSID 862, dat is gebaseerd op dezelfde codetabel als CCSID 62213.
Zorg dat de gegevens die naar de DB2-hostdatabase worden gezonden BiDi-reekstype 6 als indeling hebben en dat DB2 Connect weet dat er een BiDi-indelingsconversie moet worden uitgevoerd op gegevens die worden ontvangen van de DB2-hostdatabase. Gebruik de volgende catalogisering voor de DB2-hostdatabase:
catalog dcs database nydb1 as TELAVIV parms ",,,,,,,,BIDI=8616"
Hierdoor wordt aan DB2 Connect duidelijk gemaakt dat het CCSID van de DB2-hostdatabase moet worden gewijzigd van 424 in 8616. Deze vervanging omvat de volgende verwerking:
Opmerkingen:
Als een bepaald bidirectioneel CCSID voor problemen zorgt die niet kunnen worden opgelost door het opvolgen van deze adviezen, moet u de omgevingsvariabele of de registerwaarde DB2BIDI instellen op NO.
Hieronder ziet u enige voorbeelden van parameterreeksen die u kunt opgeven.
U moet bijvoorbeeld een van de volgende reeksen opgeven als "\" (schuine streep naar links) het escapeteken van het besturingssysteem is:
Op AIX:
NOMAP /u/username/sqllib/map/dcs1new.map,D ,D ,,INTERRUPT_ENABLED NOMAP,D,INTERRUPT_ENABLED,,,SYSPLEX,LOCALDATE=\"\"JJMMDD\"\",,
Op OS/2, Windows NT of Windows 2000:
NOMAP d:\sqllib\map\dcs1new.map,D ,,INTERRUPT_ENABLED NOMAP,D,INTERRUPT_ENABLED,,,SYSPLEX,LOCALDATE=\"\"JJMMDD\"\",,
U kunt ook de standaardwaarden accepteren door geen parameterreeks op te geven.
Opmerking: | Omdat er twee paren dubbele aanhalingstekens moeten worden opgegeven wanneer
het selectiemasker LOCALDATE wordt opgegeven in de parameterreeks, moet u het
escapeteken van het besturingssysteem gebruiken, bijvoorbeeld "\" (schuine
streep naar links):
db2 catalog dcs db x as y parms \",,,,,,LOCALDATE=\"\"JJMMDD\"\"\"Hierdoor ontstaat het volgende directorygegeven voor DCS: DCS-gegeven 1: Lokale databasenaam = X Naam doeldatabase = Y Naam toepassingenrequester = DCS-parameters = ,,,,,,LOCALDATE="JJMMDD" Commentaar = Releaseniveau DCS-directory = 0x0100 |
U kunt de volgende gegevens opgeven in de systeemdatabasedirectory:
Notatie: 1-8 enkelbyte alfanumerieke tekens, inclusief het hekje (#), het apenstaartje (@), het dollarteken ($) en het onderstrepingsteken (_). De naam mag niet beginnen met een onderstrepingsteken of een cijfer.
U moet voor elke database minstens één gegeven opgeven in elk van de drie directory's (knooppuntdirectory, DCS-directory en systeemdatabasedirectory). Het is mogelijk dat u in bepaalde gevallen meer dan een item voor de database wilt definiëren.
Zo wilt u misschien de SQLCODE-toewijzing uitschakelen voor toepassingen die zijn overgedragen van de host- of AS/400-databaseserver, maar de standaardtoewijzing accepteren voor toepassingen die voor de client/server-omgeving zijn ontwikkeld. Dit kan als volgt:
Beide aliassen worden gebruikt voor toegang tot dezelfde database: één met SQL-toewijzing en één zonder.