; TeX output 2003.04.04:1534_2 ~?Ձ[Iqqecss2074VwmerbindenZmetMSSQL6.x+ZviaOpenlink/PHP/ODBCAmini-HOwmWTO cG 1 ecrm1000ZiliU Zhang,qL ectt1000silen@silen.netV*ertaaldU doGor:qEllenBokhorst,bokkie@nl.linux.org~3.0,15-07-1999&6 ecss1000HoGe&eenverbindingtemakenmeteenMSSQL6.x+&databaseserverviaODBCfunctiesvanPHP3(3.0.1xofhoger)U gecompileerdmetOpGenlinkdriversonderLinux.(&Lt$ffffecbx1440Inhoudsopgacve]f ecbx10001In>troQductie}81ؼ1.1%Copyright탍.荍..............................................w21.2%Disclaimer.荍..............................................w22OpQenlink*22.1%OpU declient'.荍.............................................w22.2%OpU deservert.荍............................................w32.3%ConguratieU voGortest獍.荍.......................................w32.4%T*estU metodbctestv.荍.........................................w33PHPK;34V oQorbeeld45FA>Q 5(1Inctropductie:InditdoGcumentwordtbGeschrevenhoGeeenverbindingtemakenmeteenMSSQL6.x+databaseservervia ODBCU functiesvqanPHP3(3.0.1xofhoger)gecompileerdmetOpGenlinkdriversonderLinux.Inz4deUnixwereldhebbGendemensenvqaaklievernietstemakenmetM$gerelateerdesoftware.Indeechtewereld2 kqanjewerkgeverechtervqanjeverlangendataineenMS1SQLdatabase2 onderNT1opteslaanenwebtoGepassingen0onderLinuxuittevoGeren.JW*attedoen?JOntslagnemenofdetijdnemenomditdocumenttelezen?=AlsjevoGorhetlaatstekiest,beloofikjeeengedetailleerdeleidraad,zodatjediebaannogeentijdjeaankunthouden.BHetiseenHoGe-te-doenleidraad,ۛgeenW*aarom-zoleidraad.DusvraagmenietwaaromhetU abGcmoetzijnennietcba.qDatweetikookniet.PHP>wordtaonderwebprogrammeurssteedspGopulairder,hoofdzakelijkaomdathetzokqanwordengecong-ureerdPdathetmetdiversedatabaseszoalsOracle,MySQL,SolidenzovoGorteenverbindingtotstandkqanbrengen.CMaar_abijeenMS_SQLserver,gaat_ahetomeenanderprobleem.AlhoGeweljePHP'sSybase-ctondersteuningsfeatures'3kuntgebruikenomeendirecteverbindingmetMSSQL'(temaken,0cgevenveelmensen(ikU iniedergevqal)devoGorkeurU aaneenverbindingviaODBC.*_2 ~?G2.8OpQenlinkZ2ՁVOpGenlinkODBCrmiddlewareaanpassend,WkunjegebruikmakenvqandieODBC_xxxxfunctiesomalle databasesMtebGenaderenwaarOpenlinkeendrivervoGorheeft.oJemoethiervoordeOpenlinkLinuxclientenServerU middlewareinstallerenenPHPopnieuwcompilerendathetODBCfunctiesondersteunt."3!N ecbx12001.1CopyrightMCopyrightU (c)1999doGorZiliZhangؼKopieerDendistribueerditdoGcumentgerust(ofgeefhetweg)inelkgewenstformaat.AJewordtverzoGchtcorrectiesen/ofopmerkingennaardehuidigebGeheerderdoortesturen. JemagereenafgeleidewerkvqanmakenU enhetdistribuerenopvoGorwaardedatje:3 !", cmsy10Hetafgeleidewerk(indemeestgeschiktevorm,zoalssgml)opstuurtnaardeLDP(HetLinuxDoGc-umentatiePro0ject)ofvergelijkbaarzoGdathetopInternetkqanwordengeplaatst.JLaatdeLDPwetenwaarU hetbGeschikbaarisalshetnietdeLDPiswaarjejedoGcumentnaaropstuurt.HLicentieerhetafgeleidewerkmetdezelfdelicentieofgebruikGPL.V*oGegeencopyrightmeldinginenopU z'nminsteenverwijzingnaardegebruiktelicentie.GeefU kredietaanvorigeauteursenmensendieeenbGelangrijkebijdrageleverden.3Alsnjeeenafgeleidwerkoverweegtandersdaneenvertaling,u:danwordtjeverzoGchtjeplannentebGesprekenmetU dehuidigebGeheerder."31.2DisclaimerMDitndoGcumentwordtjeingoGedvertrouwenaangebGodennaangezienhetalleenuiteenveiligeconguratieenproGceduresbestaat.-ErwordtgeenverantwoGordelijkheiddoordeauteurgeaccepteerdvoorenigverliesofschadeopwelkewijzedanoGokveroGorzaaktdooreenpersoonofuitrusting,ialseendirectofindirectgevolgvqanU hetopvolgenU vandezeinstructies.ؼDitdoGcumentwerdafgeleidvqanhetgewonetekstbGestandtevindenopHЃ ecti1000http://www.silen.net/op}/enlink-php-o}/dbc.txtU .(L 2Oppenlink:DezeDstapiseenbGeetjegecompliceerd.kErzijnzowelDopdeLinuxclientalsdeNTDservereenaantalwerkza-amhedenU teverrichten.2.1OpdeclientDownload)Finstall.shenlikoxglc.taz(voGoreenlibc6systeem)oflikoxxxx.taz(vooreenlibc5systeem)U vqanafftp://www.op}/enlinksw.com/U .Hmkdir?/usr/local/openlinkKopieerU install.shenlikoxglc.taznaar/usr/local/openlinkcd?/usr/local/openlinksh?install.sh,zhetsPinstallscriptzaljevragenomdeeigenaarengroGepvqanhetprogramma.&;Bestanden wordensgextraheerdnaardeodbcsdkdirectoryonder/usr/local/openlinken.odbc.inigekopieerdnaarU dehomedirectoryvqandeeigenaar._2 ~?G3.8PHP'Ϲ3ՁV2.2Opdeserver#DownloadLntadm65x.zipvqanuitftp://www.op}/enlinksw.com/L,Nnaarje NT-server.unzip?ntadm65x.zipcd?disk1U -directorywaarjehetpackqagedecomprimeert.voGerU setupuitenvolgdeinstructiesomdeOpGenlinkmiddlewareteinstalleren.denk'eraandeOpGenlinkrequestbrokervqanuithetopstartmenuofhetservicecontrolpaneloptestarten.#Í2.3Conguratievo_ortestbGewaarU het.odbc.inibestandinjehomedirectory*.kopieerudbc.inivqanuitdebindirectoryvqandeOpGenlinkmiddlewareinstallatiedirectorynaarde directoryU /etcopdeclient.pasۮ/etc/udbc.iniaan.)Wijzigindesectie[dsn_sql6],QdeHost,Database,UserNameenPasswordveldenU overeenkomstigjeserverinstellingen.qHieriseendeelvqanmijn/etc/udbc.ini:=8rqL ectt0900[dsn_sql6] =8rHost8=N10.0.0.18rServerTypeW=Nsql68r;ServerOptions r=8rDatabase%p=Npubs8r;FetchBufferSizeN=308rUserName%p=Nsa8rPassword%p=NxxxxxxxvoGegxaanjeomgevingLD_LIBRARY_PATH='/usr/local/openlink/odbcsdk/lib'toeenexporteerdezevqariabGele.qTypU onderdecsh-shell:setenv?LD_LIBRARY_PATH/usr/local/openlink/odbcsdk/lib#Í2.4TestmetD7` ectt1200odbctest#cd?/usr/local/openlink/odbcsdk/examples./odbctesttyp:qdsn=dsn_sql6wanneerU 'sql b> cmmi10>'verschijnt.qJekuntnuwatsqlopGdrachtenuitvoGerenomdeverbindingtetesten.(3PHP:NuhebbGenweOpenlinkenkunnenweverdermetdecompilatievqanPHP*.VoGordezeversieisPHP3.0.10ofU hogernoGdigomhetwerkendU tekrijgen.ؼDownloadU php-3.0.11.tar.gzvqanafhttp://www.php.net.V*oGerU devolgendestappenuit:"_2 ~?G4.8V oQorbeeldY4ՁV/gzipN-dcphp-3.0.11.tar.gz|tar-xof- =/cdNphp-3.0.11/./configureN--with-openlink(--with-mysql--with-gd=/usr/local/gd1.3--enable-track-vars)A:NOOT:NMijnconfiguratieisingesteldPHPinCGImodustedraaien,^=metNbovendienondersteuningvoormysql.Jouwconfiguratiekan^=erNandersuitzien./makeN--silentA:NOTE:NMaakjegeenzorgenbijeventuelewaarschuwingsmeldingen./makeNinstallHetq uitvoGerbarebestandphpzalin/usr/local/binwordengenstalleerd.rechoN"connectedtoDSN:$dsn

";>rif($result_id=odbc_do($conn_id,N$sql)){dechoN"executing'$sql'

";_R$num_fields=odbc_num_fields($result_id);_Rif($num_fields>0){)echoN"Numberoffields:$num_fields
";)for($i=1;$i<=$num_fields;$i++){$field_name[$i-1]=odbc_field_name($result_id,$i);,>_2 ~?G5.8FA>Q糹5ՁV)} =)$num_rows=0;)while(odbc_fetch_row($result_id)){2for($i=1;$i<=$num_fields;$i++){$result[$num_rows][$field_name[$i-1]]=odbc_result($result_id,$i);2}2$num_rows++;)})echoN"Numberofrows:$num_rows
";_R}else{)echoN"notafieldreturned.

";_R}dechoN"Results:
";dfor($i=0;$i";_R}d}dechoN"freeingresult

";dodbc_free_result($result_id);>r}else{dechoN"cannotexecute'$sql'

";>r}>rechoN"closingconnection$conn_id";>rodbc_close($conn_id);}else{>rechoN"cannotconnecttoDSN:$dsn

";}?>(5F=AcQW;erktmdezeexactepr}/oceduremookvoorMSSQLj7.0? Ja,cOpGenlink`zalhunsoftwarenaar7.0upgraden, maarU ikweetnietwanneer.Ik@ volgdeditdo}/cumentstap-voor-stapopomdeopenlinkdriversteinstalleren,k!maarikeindigdebijdestap"installe}/erntadm65x.zip".+Ndatikntadm65xinstalle}/erde,;CprobeerdeikdeOp}/enLinkRequestBr}/okertestartenenkreegdefoutmelding:=3PunableNtoopentheservicecontrolmanager<5> =3PpressNRETURNtoexitoplrqbKun-jemealsjeblieftvertellenho}/eikdatprobleemkancorrigeren?DitBzoueenprobleemmetNTBzelfkunnen֠zijn.ProbGeerhetoptelossendoordecomputeropnieuwoptestartenenstartdeopenlinkserviceU danvqanuitdeControlPanel/servicemanager.5#;_2GD7` ectt1200qL ectt0900HЃ ecti1000!N ecbx1200]f ecbx1000&Lt$ffffecbx14406 ecss1000qL ectt1000Iqqecss2074 1 ecrm1000 !", cmsy10 b> cmmi10<