²©¿Í | Linux | ÂÛ̳ | È˲Š| Åàѵ | ֪ʶ¿â | ×ÊÁÏ | ¶ÁÊé | ÊÖ²á | ¾«»ª | ÏÂÔØ | ɳÁú | ËÑË÷
Ê×Ò³ ¡¬ ÐÂÎÅ ¡¬ ASE ¡¬ PB/PD ¡¬ Sybase IQ ¡¬ iAnywhere ¡¬ RS ¡¬ ÂÛ̳ ¡¬ ר¼Ò·Ã̸ ¡¬ ÏÂÔØ ¡¬ SDN×¨Çø

ChinaUnix -> SYBASE¼¼Êõ -> ¼¼ÊõÎÄÕ ->PB/PD -> ÕýÎÄ

PB»·¾³Ï·ֲ¼Ê½Ó¦ÓóÌÐòµÄ¿ª·¢
ÈÕÆÚ£º2007-07-06 ChinaUnix.net


Ò»¡¢·Ö²¼Ê½Ó¦ÓóÌÐò¸ÅÊö

¡¡¡¡·Ö²¼Ê½ÏµÍ³µÄ³öÏÖÔ´ÓÚ´«Í³µÄC/S½á¹¹µÄÈô¸É±×²¡£¬ÈçЧÂʵͣ¬°²È«ÐÔ²îµÈ£¬½áºÏµ½Êý¾Ý¿â·½ÃæÀ´Ëµ£¬È«ÇòµÄDNS£¨ÓòÃû½âÎöϵͳ£©ÏµÍ³ÊÇÒ»¸öºÜµäÐ͵ÄÀý×Ó£¬ÊÔÏëÈç¹û°ÑÈ«ÊÀ½çËùÓеÄÓòÃû¶¼¼¯Öе½Ò»Ì¨·þÎñÆ÷ÖÐÀ´½øÐйÜÀí£¬ÄÇ·þÎñÆ÷¿Ï¶¨»áÒò¸ºÔعýÖØ¶øÎÞ·¨Õý³£¹¤×÷£¬Õû¸ö»¥ÁªÍøÒ²¾Í̱»¾ÁË¡£

¡¡¡¡ÔÚ±àдC/S½á¹¹µÄÊý¾Ý¿âÓ¦ÓÃϵͳʱ£¬Í¬ÑùÒ²»áÓöµ½ÕâÀàÎÊÌ⣬ÄǾÍÊÇÈç¹û¿Í»§ÊýÁ¿ºÜ¶à£¬Êý¾ÝÁ¿ÓÖ¶¼ºÜ´óµÄÇé¿öÏ£¬·þÎñÆ÷µÄ¸ºÔؾͻáºÜÖØ£¬¶øÇÒÖØ¸´ÐÔ¹¤×÷ºÜ¶à£¬ÒòΪºÜ¶à¿Í»§·¢³öµÄ²éѯ¿ÉÄÜÍêÈ«Ïàͬ¶ø·þÎñÆ÷È´ÐèÒªÒ»Ò»½øÐвéѯ£»Í¬Ê±²éѯËã·¨´æ´¢ÓÚ¿Í»§¶Ë£¬Õâ¿ÉÄܲ»ÊʺÏһЩÉÌÒµ»·¾³£¬ÒòΪËã·¨±¾Éí¿ÉÄÜÊÇÐèÒª±£Ãܵġ£Èç¹ûÄܹ»ÔÚ´«Í³µÄ·þÎñÆ÷ºÍ¿Í»§»úÖ®¼äÔÙ¼ÓÒ»¸ö·þÎñÆ÷ÓÃÓÚ´æ´¢²éѯËã·¨ºÍÁÙʱ²éѯ½á¹û£¬ÔòÒÔÉÏÎÊÌâ¾ùµÃµ½Á˽â¾ö¡£ÕâÕýÊÇ·Ö²¼Ê½ÏµÍ³µÄ¹¤×÷Ô­Àí¡£

¡¡¡¡¶þ¡¢ÔÚPB»·¾³ÏÂÈçºÎ½øÐзֲ¼Ê½Ó¦ÓóÌÐòµÄ¿ª·¢

¡¡¡¡ÏÂͼÊÇ·Ö²¼Ê½ÏµÍ³µÄ¹¤×÷Ô­Àíͼ£º


ͼ£¨Ò»£©

¡¡¡¡Ê×ÏÈ£¬·Ö²¼Ê½·þÎñÆ÷±ØÐ뽨Á¢ÓëÊý¾Ý¿â·þÎñÆ÷µÄÁ¬½Ó£¬¿ÉÒÔͨ¹ýODBC½Ó¿ÚÀ´ÊµÏÖ£¬±¾ÎIJ»ÔÚÐðÊö£¬ÏÂÃæÒª½²Êö¿Í»§¶ËÈçºÎͨ¹ý·Ö²¼Ê½·þÎñÆ÷À´·ÃÎÊÊý¾Ý¡£

¡¡¡¡ÔÚPB»·¾³ÏÂҪʵÏÖ·Ö²¼Ê½µÄ±à³Ì£¬Ê×ÏÈÔÚDTS¶Ë£¬ÐèÒªÓõ½Á½¸ö¶ÔÏó£¬Ò»¸öTransPort¶ÔÏóºÍÒ»¸ö²»¿ÉÊÓµÄÓû§¶ÔÏó£¨Class¨¤ Custom£¬Nonvisible Object£¬ÒÔϼò³ÆNVO£©£¬ÆäÖÐTransPort¶ÔÏóÓÃÓÚÏìÓ¦¿Í»§¶ËµÄÁ¬½ÓÇëÇó£¬NVO¶ÔÏóÓÃÓںͿͻ§¶Ë½øÐÐʵ¼ÊµÄÊý¾Ý´«Êä¡£ÔÚ¿Í»§¶ËÒ²ÐèÒªÓõ½Á½¸ö¶ÔÏ󣬷ֱðÊÇConnection¶ÔÏóºÍ´úÀí¶ÔÏó£¨NVO-Proxy£©£¬ÆäÖÐConnection¶ÔÏóÓÃÓÚ½¨Á¢µ½DTSµÄÁ¬½Ó£¬NVO-Proxy ʵ¼ÊÉÏÊÇÓëNVOÒ»Ò»¶ÔÓ¦µÄ£¬ËüÖ»ÊÇNVOµÄÒ»¸ö´úÀí£¬ÔÚ¿Í»§¶Ëͨ¹ý´Ë´úÀí¶ÔÏóÀ´µ÷ÓÃNVOµÄº¯ÊýÀ´ÊµÏÖÏà¹Ø¹¦ÄÜ¡£
ÒÔÏÂÊÇTransPort¶ÔÏóºÍConnection¶ÔÏóµÄ³£ÓÃÊôÐÔ¼°·½·¨£º

¡¡¡¡1¡¢TransPort¶ÔÏó

¡¡¡¡ÊôÐÔ£º

¡¡¡¡Driver£º¿ÉÑ¡µÄÖµÓÐËĸö£¬·Ö±ðÊÇWinSock¡¢NamedPipes¡¢OpenClientServerºÍLocal£¬ÓÉÓÚWinsockµÄͨÓÃÐÔ£¬Ò»°ãÇé¿ö϶¼Ñ¡ÔñWinsock¡£

¡¡¡¡Application£º¶ÔÓÚWinsock¶øÑÔÖ¸µÄÊǶ˿ںţ¬Óû§¿ÉÒÔÈÎÒâÖ¸¶¨£¬µ«±ØÐë´óÓÚ4096¡£

¡¡¡¡·½·¨£º

¡¡¡¡Listen()£ºÆäµ÷Ó÷½·¨ÊÇtransport.Listen£¨£©£¬¼´¿ªÊ¼¼àÌý£¬Èç¹ûµ÷Óóɹ¦Ôò·µ»Ø0¡£

¡¡¡¡StopListening()£ºÆäµ÷Ó÷½·¨ÊÇtransport.StopListening£¨£©£¬¼´½áÊø¼àÌý£¬Èç¹ûµ÷Óóɹ¦Ôò·µ»Ø0¡£

¡¡¡¡2¡¢Connection¶ÔÏó

¡¡¡¡ÊôÐÔ£º

¡¡¡¡Driver£ºÓëTransport¶ÔÏóÏàͬ

¡¡¡¡Application£ºÓëTransport¶ÔÏóÏàͬ£¬µ«Òª×¢ÒâÁ½Õß±ØÐëÒ»Ö¡£

¡¡¡¡Location£ºDTSµÄIPµØÖ·

¡¡¡¡·½·¨£º

¡¡¡¡ConnectToServer()£ºÆäµ÷Ó÷½·¨ÊÇconnection.ConnectToServer£¨£©£¬¼´Á¬½ÓDTS£¬Èç¹ûµ÷Óóɹ¦Ôò·µ»Ø0£¬ÏÔÈ»ÔÚµ÷Óøú¯Êý֮ǰ£¬DTS±ØÐë´¦ÓÚ¼àÌý״̬¡£

¡¡¡¡DisconnectServer()£ºÆäµ÷Ó÷½·¨ÊÇconnection.DisconnectServer ( )£¬¼´¶Ï¿ªÓëDTSµÄÁ¬½Ó¡£

¡¡¡¡CreateInstance()£ºÆäµ÷Ó÷½·¨ÊÇconnection.CreateInstance£¨variable£©,¼´½¨Á¢Ò»¸öNVOµÄ´úÀíÒÔ±ãµ÷ÓÃNVOµÄÏà¹Øº¯Êý¡£×¢ÒâÔÚµ÷Óøú¯Êý֮ǰ£¬±ØÐë±£Ö¤¿Í»§¶ËÒѾ­ÓëDTS½¨Á¢ÁËÁ¬½Ó¡£

¡¡¡¡¶ÔÓÚNVOºÍNVO-Proxy¶ÔÏó£¬ÔÚDTSÖн¨ºÃNVOºó£¬ÎªÁËÔÚ¿Í»§¶ËÉèÖÃÆä´úÀí£¬¿ÉÒÔÏÈÔÚDTSÖÐÉèÖñ¾µØ´úÀí£¬È»ºó½«´Ë´úÀíÊä³öµ½¿Í»§¶Ë¡£¾ßÌåÉèÖ÷½·¨ÈçÏ£ºÔÚPBµÄÓû§¶ÔÏó»­°åÖУ¬ÔÚÓû§¶ÔÏóÉϵã»÷Êó±êÓÒ½¡£¬Ñ¡Ôñ"Set Proxy Name"£¬ÊäÈë´úÀí¶ÔÏóµÄÃû³Æ²¢´æÅÌ£¬´ò¿ªPBµÄLibrary»­°å£¬ÕÒµ½¸Õ²Å±£´æµÄ´úÀí¶ÔÏ󣬵ã»÷Êó±êÓÒ½¡²¢Ñ¡Ôñ"Export¡­"½«´Ë´úÀí¶ÔÏó±£´æ³ÉÎļþ£¬×îºóÔÚ¿Í»§¶Ë½«´ËÎļþµ¼Èë¼´¿É¡£µ¼ÈëÒÔºó£¬ÔÚ¿Í»§¶Ë¾Í¿ÉÒÔͨ¹ý´Ë´úÀí¶ÔÏóÀ´µ÷ÓÃNVOµÄº¯ÊýÁË¡£

Èý¡¢ÊµÀý

¡¡¡¡ÏÈ¿´ÈçÏÂÁ½¸öͼ£¬Í¼¶þ±íʾDTS¶Ë£¬Í¼Èý±íʾClient¶Ë¡£ÆäÖÐDTSÒѾ­½¨Á¢ÁËÓëÊý¾Ý¿â·þÎñÆ÷µÄÁ¬½Ó£¬Êý¾Ý´°¿ÚÖÐÏÔʾµÄÊÇËùÓеÄÊý¾Ý£»Client²¢Ã»ÓÐÊý¾Ý¿â½Ó¿Ú£¬¶øÊÇͨ¹ýDTS¼ä½ÓµÄ·ÃÎÊÊý¾Ý£¬ÔÚÊý¾Ý´°¿ÚÖÐÏÔʾµÄÊÇËùÓÐÄÐÐÔÖ°¹¤¡£


ͼ(¶þ)


ͼ(Èý)

¡¡¡¡¸Ã³ÌÐòµÄ´ó²¿·ÖÔ´´úÂëÈçÏ£º

¡¡¡¡DTS¶Ë£º

¡¡¡¡1¡¢Ê×Ïȶ¨ÒåÒ»¸öÈ«¾Ö±äÁ¿£ºTransport mytrans;

¡¡¡¡2¡¢ÔÚ"¿ªÊ¼¼àÌý"°´Å¥ÖÐÊäÈëÈçÏ´úÂ룺

long ll
mytrans=create transport
mytrans.driver="winsock"
mytrans.application="5000" //¶Ë¿ÚºÅ
mytrans.location="." //±¾µØ·þÎñÆ÷
ll=mytrans.listen() //¿ªÊ¼¼àÌý
if ll<>0 then
messagebox(string(mytrans.errcode),mytrans.errtext)
return
end if
server.settranspool(12,16,10) //ÉèÖÃÁ¬½Ó»º³å£¬×¢Òâ"server"ΪӦÓõÄÃû³Æ
this.text="ÕýÔÚ¼àÌýÖÐ..."
this.enabled=false

¡¡¡¡3¡¢ÔÚ"½áÊø¼àÌý"°´Å¥ÖÐÊäÈëÈçÏ´úÂ룺

mytrans.stoplistening() //½áÊø¼àÌý
destroy mytrans
cb_1.text="¿ªÊ¼¼àÌý"
cb_1.enabled=true

¡¡¡¡4¡¢½¨Á¢Ò»¸öNVO£º

¡¡¡¡ÀûÓÃPBµÄUser Objects»­°å½¨Á¢Ò»¸öclass¨¤customµÄÓû§¶ÔÏ󣬽¨Á¢Óû§¶ÔÏóº¯Êýnvoretrieve(ref blob buffer,string filter) returns long£¬º¯ÊýÌåÈçÏ£º

long ll
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Connectstring='DSN=person'"
connect; //½¨Á¢ÓëÊý¾Ý¿âµÄÁ¬½Ó
datastore datastore_buffer
datastore_buffer=create datastore
datastore_buffer.dataobject="dw_person" //dw_personÊÇÒ»¸öÊý¾Ý´°¿Ú
datastore_buffer.settransobject(sqlca)
datastore_buffer.retrieve()
datastore_buffer.setfilter(filter)
datastore_buffer.filter()
ll=datastore_buffer.getfullstate(buffer) //º¯Êýgetfullstate()ºÍsetfullstate()³£ÓÃÓÚ·Ö²¼Ê½Ó¦ÓóÌÐò¡£
disconnect;
return ll

¡¡¡¡5¡¢½¨Á¢NVOµÄ´úÀí¶ÔÏó

¡¡¡¡ÔÚÓû§¶ÔÏóÉϵãÊó±êÓÒ½¡£¬Ñ¡Ôñ"Set Proxy Name"£¬ÊäÈë"NVO_dw"£¬±£´æÓû§¶ÔÏó¡£

¡¡¡¡´ò¿ªLibrary»­°å£¬½«"NVO_dw"Êä³öΪÎļþ£¬ÒÔ±ãÔÚ¿Í»§¶Ëµ¼Èë¸Ã´úÀí¡£

¡¡¡¡Client¶Ë£º

¡¡¡¡¡¡1¡¢´ò¿ªLibrary»­°å£¬½«¸Õ²ÅÊä³öµÄÎļþµ¼Èë

¡¡¡¡¡¡2¡¢¶¨ÒåÁ½¸öÈ«¾Ö±äÁ¿£º

connection myconn
nvo_dw proxy_dw

¡¡¡¡¡¡3¡¢ÔÚ"Á¬½Ó"°´Å¥ÖÐÊäÈëÈçÏ´úÂ룺

long ll
myconn=create connection
myconn.driver="winsock"
myconn.application="5000" //±ØÐëºÍDTS¶ËµÄ¶Ë¿ÚºÅÒ»ÖÂ
myconn.location="192.168.6.1" //DTSµÄIPµØÖ·
ll=myconn.connecttoserver() //½¨Á¢Á¬½Ó
if ll<>0 then
messagebox(string(myconn.errcode),myconn.errtext)
return
end if
this.text="ÕýÔÚÁ¬½ÓÖÐ..."
this.enabled=false
cb_2.enabled=true
cb_3.enabled=true

¡¡¡¡3¡¢ÔÚ"¶Ï¿ª"°´Å¥ÖÐÊäÈëÈçÏ´úÂ룺

myconn.disconnectserver() //¶Ï¿ªÁ¬½Ó
destroy myconn
cb_1.enabled=true
cb_1.text="Á¬½Ó"
cb_3.enabled=false
this.enabled=false

¡¡¡¡4¡¢ÔÚ"²éѯ"°´Å¥ÖÐÊäÈëÈçÏ´úÂ룺

long result
blob buffer
myconn.createinstance(proxy_dw) //½¨Á¢´úÀí¶ÔÏó
result=proxy_dw.nvoretrieve(buffer,"sex='ÄÐ'") //¼ìË÷ËùÓÐÄÐÐÔÖ°¹¤
result=dw_1.setfullstate(buffer) //dw_1ÊÇÒ»¸öÊý¾Ý´°¿Ú¿Ø¼þ

¡¡¡¡ËÄ¡¢Ð¡½á¼°×¢ÒâÊÂÏî

¡¡¡¡1¡¢ÒÔÉϳÌÐòÔÚWINDOWS'98¡¢PB6.0»·¾³Öе÷ÊÔͨ¹ý£¬ÔÚ¿Í»§ÊýÁ¿ºÜ¶à£¬Êý¾ÝÁ¿ºÜ´óµÄÇé¿öÏ£¬²éѯµÄËÙ¶È»á¿ìºÜ¶à¡£

¡¡¡¡2¡¢±à³ÌʱעÒ⣬Èç¹ûNVOµÄº¯ÊýÌå·¢Éú±ä»¯£¬ÔòÎÞÐëÖØÐÂÉú³É´úÀí£»Èç¹ûNVOµÄº¯Êý½Ó¿Ú·¢Éú±ä»¯£¬Ôò±ØÐëÖØÐÂÉú³ÉËüµÄ´úÀí²¢½«ËüÊäÈëµ½¿Í»§¶ËÖС£

¡¡¡¡3¡¢NVO¶ÔÏóÊÇÒ»¸ö²»¿ÉÊÓ¶ÔÏó£¬Ö»ÄÜͨ¹ýº¯Êýµ÷Óõķ½·¨Ê¹ÓÃËü£¬²»¿É½«Ëü×÷Ϊһ¸ö¿Ø¼þ·ÅÔÚ´°¿ÚÉÏ¡£

±¾Îı»ä¯ÀÀ´Î

 Ïà¹ØÐÂÎÅ


 Ïà¹ØÆÀÂÛ
 
×îж¯Ì¬

¡¤Èü±´Ë¹Èí¼þÉϺ£Ñз¢ÖÐÐ..
¡¤ASE¼¼Êõ´ðÒÉ(10ÔÂ31ÈÕ)
¡¤iAnywhere¼¼Êõ´ðÒÉ(11Ô..
¡¤IQ¼¼ÊõÔÚÏß´ðÒÉ(11ÔÂ7ÈÕ)
¡¤PowerBuilder 11 Ѳչ
¡¤¡°Òƶ¯PUSH Mail¡±¼¼Êõ..

ÈÈÃÅÌÖÂÛ

¡¤ÓÐÓÃEmbarcadero DBArt..
¡¤sybaseÊý¾Ý¿â¿çÆ½Ì¨ÒÆÖ²..
¡¤¼±£ºsybaseµÄ tempdb¿â..
¡¤sybaseÔõôÔÚÔ­ÓеÄÉ豸..
¡¤ÇósybaseÔÚwin2003ϵÄ..
¡¤ÓйØÐÂÓû§µÄȨÏÞ
¡¤load Êý¾Ý¿âÎÊÌâ
¡¤¹ØÓÚ·Ö²¼Ê½ÏµÍ³Öм¯ÖÐÊý..
¡¤sybase central ³öÏÖµÄ..
¡¤sybase Æô¶¯½Å±¾ÎÊÌâ

×îÐÂÏÂÔØ

¡¤ASE for Linux£¨Ãâ·Ñ£©
¡¤jConnect 5.5 for JDBC
¡¤JBuilder Sybase Edition
¡¤PowerDesigner10¼¼ÊõÎĵµ
¡¤PowerDesigner10 betaÏÂÔØ
¡¤PowerBuilder10 BetaÏÂÔØ
¡¤SQL Anywhere Studio¿ª..


¹ØÓÚÎÒÃÇ | ÁªÏµ·½Ê½ | ¹ã¸æºÏ×÷ | ³ÏƸӢ²Å | ÍøÕ¾µØÍ¼ | Ãâ·Ñ×¢²á

Copyright © 2001-2007 ChinaUnix.net All Rights Reserved

¸ÐлËùÓйØÐĺÍÖ§³Ö¹ýChinaUnixµÄÅóÓÑÃÇ

¾©ICPÖ¤041476ºÅ