¦bLinux¤U³X°ÝMS SQL Server¼Æ¾Ú®w - ¤¤°êWEB¶}µoªÌºôµ¸ (http://www.webasp.net) -- §Þ³N±Ðµ{ (http://www.webasp.net/article/) --- ¦bLinux¤U³X°ÝMS SQL Server¼Æ¾Ú®w (http://www.webasp.net/article/8/7782.htm) |
| -- §@ªÌ¡G¥¼ª¾ -- µo§G¤é´Á¡G 2003-09-13 |
| ¡@¡@Linux§@¬°¤@Ó§K¶OªºUnixÃþ¾Þ§@¨t²Î¡A¥H¨ä¶}©ñ©Ê·½¥N½X¡B¦h¥ô°È¡BXúQwindowµ¥¯SÂI¬°²³¦hªº¥Î¤á©Ò±Ä¥Î¡A¨Ã¦³«Ü¦h¥ø·~±Ä¥ÎLinux¨Ó§@¬°¨ä¤º³¡ºôªº¥þ¥\¯àªA°È¾¹(WWW¡AFTP¡AEmail¡BDNS)¡C¥ø·~ªº¤º³¡ºô¤£¶Èn´£¨Ñ¤å¥»«H®§ªº³X°Ý¡AÁÙn¯à´£¨Ñ¹ï¥ø·~Ãö«Y¼Æ¾Ú®w¤¤ªº«H®§ªº³X°Ý¡CSQL Server¥H¨ä§C¦¨¥»¡B©Ê¯à°ª¥H¤Î»PNTªº¦³®Ä¶°¦¨µ¥¯S©Ê¬°³\¦h¥ø·~©Ò±Ä¥Î¡A¦ýMicrosoft¤£´£¨Ñ¨äUnix¤Uªº«È¤áºÝ¡A¬°³oÃþÀ³¥Î±a¨Ó¤F§xÃø¡C¥»¤å«h´£¥X¤F³o¤@°ÝÃDªº¸Ñ¨M¤è®×¡C ¦w¸ËSybase«È¤áºÝ ¡@¡@º¥ý±qMicrosoft SQL Server©MSybase SQL ServerªºÃö«Y»¡°_¡C¨â¤½¥q´¿¦@¦P¶}µoOS/2¤Wªº¼Æ¾Ú®wSQL Server for OS/2¡A¦¹«á¨â¤½¥q¤S¿W¥ß¶}µo¤É¯Å¨t²Î¡ASybaseªº«È¤áºÝ¥i¥H³X°ÝMicrosoft SQL Server¡C ¡@¡@©M¨ä¥L¼Æ¾Ú®w¤½¥q¬Û¤ñ¡A¥i¥H»¡Sybase¤½¥q¹ïLinux¬O³Ì¦³µ½·Nªº¡A¥¦Áö¤£´£¨ÑLinux¤UªºSQL Server¡A¦ý´£¨Ñ¤F§K¶OªºCT¡ÐLIBªº«È¤áºÝ¡A³o¤]¥i¯à¬O³\¦hITºÞ²z¤Hû¦b¬°¤½¥q¼Æ¾Ú®w¿ï«¬®É¤£¦A¦Ò¼{Oracle©ÎInformixªº²z¥Ñ¤§¤@¡C·íµM²{¦b±¡ªp¦³©Ò§ïÅÜ¡C ¡@¡@Sybase¤½¥qµo§GªºOpenClientforLinux¬Oa.out®æ¦¡ªº¡A¦b¤¬Ápºô¤W¦³¤H±N¨äÂà¤Æ¬°ELF©M°ÊºAÃì±µªºELF®æ¦¡¡A¥i±q¤U¦C¦a§}¤W´M§ä¤U¸ü¡Ghttp://www.mbay.net/¡ãmpeppler¡C³Ì¦n¦P®É¤U¸ü¨âÓª©¥»¡A¥¿±`¨Ï¥Î®É±Ä¥Î°ÊºAÃì±µªºª©¥»¡A¦ý¦³ªºµ{§Ç¦b½sͮɥi¯à»Ýn¤@Ó®w(libblk.a)¡A¥u¦bELF¸Ì±¥]§t¡C ¡@¡@¤U¸ü¥H«á¡AÁä¤J¦p¤U©R¥O®i¶}(°²³]·í«e¥Ø¿ý¬O/usr/tmp)¡G ¡@¡@tar zxvf linux úQelf úQdynamic úQtar.gz ¡@¡@µM«á±N¨ä²¾¦Ü/usr/local¥Ø¿ý¡G ¡@¡@mv sybase /usr/local ¡@¡@½sĶ©M¨Ï¥ÎSybase«È¤áºÝ»Ýn¶i¦æ¦p¤Uªº³]¸m¡G ¡@¡@1¡DInterface¤å¥óÁ|¨Ò¦p¤U¡G ¡@¡@MSSQL ¡@¡@Query tcp ether mysql 1433 ¡@¡@¨ä¤¤¡G MSSQL¬O«È¤áºÝ¨Ï¥ÎªºªA°È¾¹¦W¡A¥H«á¤Þ¥ÎMSSQL§Y¥i¡F mysql¬OªA°È¾¹ªº¦a§}©Î¦W¦r¡A¦pªG¬O¦W¦r¡A«h¨t²Î¯à°÷¬d¨ì¨äIP¦a§}¡F 1433¬OSQL ServerªººÝ¤f¸¹¡AMicrosoft SQL Serverªº¯Ê¬ÙȬO1433¡ASybase¬O5000¡C ¡@¡@2¡DSYBASEÀô¹ÒÅܶq¡A¤º®e¬OSybase«È¤áºÝ©Ò¦bªº¥Ø¿ý¡G ¡@¡@ExportSYBASE=/usr/local/sybase ¡@¡@3¡D¦pªG½sĶSybase«È¤áºÝ¤¤ªº¨Ò¤l¡A«hÁÙn³]¸mÀô¹ÒÅܶqSYBPLATFORM¡G ¡@¡@export SYBPLATFORM=Linux ¡@¡@¨Ã¥B×§ï¨äÀY¤å¥ó¤¤Ãö©óªA°È¾¹¦WºÙ¤Î¥Î¤á¦W©M¤f¥Oªº´yz¡C ¨Ï¥ÎSQSH¬É±³X°ÝSQL Server ¡@¡@Sybase«È¤áºÝ´£¨Ñ¤Fxisql¤u¨ã¡A¦ý§ó¦hªº¤H¨Ï¥Îªº¬OSQSH¡ASQSH¬OSQshellªºÁY¼g¡A¬O§ï¶i¤Fªºisql¡A¥i±q¤U¦C¦a§}¤U¸ü¡Ghttp://www.voicenet.com/¡ãgray/¡C·í«eªº³Ì·sª©¥»¬O1.6.0¡C°²³]¤U¸ü«áªº¤å¥ó©ñ¦b/usr/tmp¥Ø¿ý¤U¡G ¡@tar zxvf sqsq úQ1.6.0 úQtar.gz ¡@¡@cd sqsh úQ1.6.0 ¡@¡@./configure ¡@¡@make;make install ¡@¡@µM«á¡A±N¥Í¦¨ªº¥i°õ¦æ¤å¥ósqsh¦w¸Ë¨ì/usr/local/bin/¥Ø¿ý¤U¡C ¡@¡@Sqshªº¨Ï¥Î¦p¤U¡G ¡@¡@¡sqsh¡Ð¡ÐUusername¡Ð¡ÐPpassword¡Ð¡ÐSservername ¡@¡@¨ä¤¤username©Mpassword¬O¥Î¤á¦W©M¤f¥O¡Aservername¬O¦binterface¤å¥ó¤¤©w¸qªºªA°È¾¹¦W(¦p¨Ò¤l¤¤ªºMSSQL)¡C ¡@¡@Sqsh¬O¥æ¤¬¦¡ªº©R¥O¦æ¬É±¡A©R¥O¥Î¿é¤Jgo¨Ó°õ¦æ¡A©R¥O¦pªG¸ûªø¥iª½±µ¤À¦¨´X¦æ®Ñ¼g¡A¥H¦^¨®´«¦æ§Y¥i¡C ¡@¡@¦p¤U¬O¤@Ó¨Ò¤l¡G ¡@¡@1> use pubs ¡@¡@2> go ¡@¡@1> select ¡¯ from authors ¡@¡@2> go±Ä¥ÎCT¡ÐLIB½s¼gÀ³¥Îµ{§Ç ¡@¡@¥Ñ©óSybaseªºLinux«È¤áºÝ¤£´£¨ÑDB¡ÐLibrary¡A©Ò¥HÀ³±Ä¥ÎCT¡ÐLibrary¨Ó½s¼gÀ³¥Îµ{§Ç¡A±Ä¥ÎCT¡ÐLibrary½s¼gÀ³¥Îµ{§Ç¥i°Ñ¦Ò¨Ò¤l¡A¸Ô²Óªº½sµ{»¡©ú¥i¥H°Ñ¦ÒSybaseªº»¡©ú¡C§Q¥ÎSybperl½s¼gÀ³¥Îµ{§Ç ¡@¡@Sybperl¬OSybaseªºPerlÂX®i¡A¥i§Q¥ÎPerl»y¨¥¨Ó³X°ÝSQL Server¡A©ÎªÌ½s¼gCGIµ{§Ç¡C ¡@¡@Sybperl¥i±q¤U¦C¦a§}¨ú±ohttp://www.mbay.net/¡ãmpeppler¡C·í«eªº³Ì·sª©¥»¬O2.9.5¡C ¡@¡@¨ú±oSybperlªº·½¥N½X®i¶}¥H«á¡A»Ýn×§ï¤@¤UCONFIG¤å¥ó¡A¥H¤U¬O´XӰѼơG ¡@¡@¤U¤@Ónק諸¤å¥ó¬OPWD¡A³o¬O¥Î¨Ó¶i¦æ´ú¸Õªº¡A±N¨ä¤¤ªºªA°È¾¹¦W¡B¥Î¤á¦W¡B¥Î¤á¤f¥O³]¸m¦¨¦Û¤vªº°t¸m§Y¥i¡CµM«á¶i¦æ½sĶ¡G ¡@¡@perl Makefile.PL ¡@¡@make; make test; make install ¡@¡@¦w¸Ë¦¨¥\¥H«á¡A§Y¥i¨Ï¥ÎSybperl¶i¦æ½sµ{¡C¤U±¬O¤@Ó²³æªº¨Ò¤l¡C ¡@ ¡@ ¡!/usr/bin/perl ¡@ ¡@use Sybase::CTlib; ¡@ ¡@ ¢Cdbh=new Sybase::CTlib 'sa','','MSSQL'; ¡@ ¡@ ¢Cdbh ¡Ð>ct_execute("select au_id, au_lname¡A au_fname from pubs.dbo.authors"); ¡@ ¡@while( ¢Cdbh ¡Ð>ct_results( ¢Crestype) == CS_SUCCEED) { ¡@ ¡@ next unless ¢Cdbh ¡Ð>ct_fetchable( ¢Crestype); while(( ¢Cau_id, ¢Cau_lname, ¢Cau_fname) = ¢Cdbh ¡Ð>ct_fetch){ ¡@ ¡@ print " ¢Cau_id ¡Ð ¢Cau_lname au_fname\n"; ¡@ ¡@ } ¡@ ¡@} ¡@¡@¥i¥H¬Ý¥X¡Aµuµu´X¦æ»y¥y¡A´N¥i¥H§¹¦¨¹ï¼Æ¾Ú®wªº¾Þ§@¡C |
| webasp.net |