¡¡¡¡Visual Basic ×÷Ϊһ¸ö¼¯Ó¦ÓóÌÐò¿ª·¢¡¢²âÊÔ¡¢²é´í¹¦ÄÜÓÚÒ» ÌåµÄ¼¯³Éʽ¿ª·¢»·¾³,Ô½À´Ô½Êܵ½³ÌÐòÔ±µÄÇàíù¡£±ÊÕßÔÚ¿ª·¢Ä³Êý¾Ý ¿âά»¤ÏµÍ³µÄ¹ý³ÌÖÐ,Ñ¡ÔñÁËVB5.0×÷Ϊ¿ª·¢Æ½Ì¨,Unix×÷Ϊ·þÎñÆ÷¶Ë ²Ù×÷ϵͳ,Informix ×÷Ϊ·þÎñÆ÷Êý¾Ý¿â¡£ ¡¡¡¡ÎÊÌâµÄ³öÏÖ ¡¡¡¡±ÊÕßÔÚ¿ª·¢¸Ãά»¤ÏµÍ³µÄ¹ý³ÌÖÐ,×¢Òâµ½Informix Êý¾Ý¿âµÄ×ֶΠÀàÐÍCLOB ÌîÈëÊý¾ÝʱÐèÒªº¯ÊýFILETOCLOB("FILENAME","SERVER") , ÆäÖеÄ"FILENAME"ÐèÒªÖ¸³öÎļþ·¾¶ºÍÎļþÃû³Æ¡£È»¶ø,ÔÚά»¤¹ý³Ì ÖдËÎļþÊÇÔÚ¿Í»§¶ËÖ´ÐеÄ,ÕâÑù¾ÍÒªÇó¼´Ê±½«Îļþ´«Êäµ½·þÎñÆ÷¶Ë ¡£ ¡¡¡¡½â¾ö°ì·¨ ¡¡¡¡1. FTP´«Ê乤¾ß ¡¡¡¡ÎÒÃÇÊ×ÏÈʹÓÃFTP´«Ê乤¾ß,ÓÃVB5.0ÖÐSHELL ÃüÁîµ÷ÓÃDOSÅú´¦Àí ÎļþÀ´ÊµÏÖ´«ÊäµÄÐèÒª¡£ ¡¡¡¡Shellµ÷Óøñʽ: ¡¡¡¡Shell(pathname[,windowstyle]) ¡¡¡¡Àý×Ó:Shell("c:windowsupload.bat") ¡¡¡¡Åú´¦ÀíÎļþupload.bat µÄÄÚÈÝ: ¡¡¡¡c:windowsftp hostname ¡¡¡¡username ¡¡¡¡password ¡¡¡¡send c:zrhupload.txt upload.txt ¡¡¡¡bye ¡¡¡¡¸ÃÃüÁîʵÏÖÁËÎļþ"upload.txt"µÄ´«ÊäÒªÇó¡£ÔÚʹÓÃÍê±ÏÖ®ºó, ÔÙµ÷ÓÃÃüÁî°Ñ¸ÃÎļþɾ³ý¡£ ¡¡¡¡Àý×Ó:Shell("c:windowsdel_up.bat") ¡¡¡¡Åú´¦ÀíÎļþdel_up.bat µÄÄÚÈÝ: ¡¡¡¡c:windowsftp hostname ¡¡¡¡username ¡¡¡¡password ¡¡¡¡dele upload.txt ¡¡¡¡bye ¡¡¡¡ÕâÑù,Îļþ"upload.txt"±»É¾³ý¡£ ¡¡¡¡µ«ÊÇ,ÁíÒ»¸öÎÊÌâ³öÏÖÁË¡£ÓÉÓÚShell º¯ÊýµÄÔËÐлúÖÆÊÇÓëÆäËü ³ÌÐòͬ²½Ö´ÐÐ,Ò²¾ÍÊÇ˵,µ±µ÷ÓÃShell º¯ÊýµÄ×Ó³ÌÐò»¹Ã»ÓÐÖ´ÐÐÍê±Ï ֮ǰ,Shellº¯ÊýºóÃæµÄÓï¾äÒѾִÐС£ÔÚ´óÅúÁ¿Ìí¼ÓÊý¾ÝµÄ¹ý³ÌÖÐ, ¾Í»á³öÏÖij¸ö¼Ç¼µÄÎļþ»¹Ã»Óд«µ½,¶øÏÂÒ»¸ö²åÈëÓï¾ä(I nsert)ÒÑ ¾¿ªÊ¼µ÷Óá£ÕâÑù,ODBCµ÷Óþͻá³öÏÖ´íÎó¡£ ¡¡¡¡2. INET ¿Ø¼þ ¡¡¡¡Internet Transfer¿Ø¼þÌṩÁËInternet ÉÏ×ʹÓõÄÁ½ÖÖÐÒé :HTTP ºÍFTP¡£Ê¹ÓÃHTTP ÐÒé¿ÉÒÔÁ¬½Óµ½WWW·þÎñÆ÷ÉÏÀ´ÏÂÔØÎļþ;ʹ ÓÃFTPÐÒéÔò¿ÉÒԵǼµ½FTP ·þÎñÆ÷¡£Ò»°ãµÄFTPÃüÁî,ÀýÈçCD¡¢GET ¶¼¿ÉÒÔͨ¹ýExecute ·½·¨ÊµÏÖ¡£ ¡¡¡¡ÏÂÃæÊÇÒ»¸öÉèÖÃINET¿Ø¼þÊôÐÔµÄÀý×Ó¡£ ¡¡¡¡inet1.URL=ftp://username:password@hostname/document ¡¡¡¡inet1.Protocol=2-icFTP ¡¡¡¡inet1.RemoteHost=hostname ¡¡¡¡inet1.RemotePort=21 ¡¡¡¡inet1.Username=username ¡¡¡¡inet1. Password=password ¡¡¡¡Ö´ÐÐÎļþ´«Êä: ¡¡¡¡Inet1.Execute "ftp://username:password@hostname", _ ¡¡¡¡"PUT" &local_filename & " UPLOAD1.TXT" ¡¡¡¡right1 = Inet1.StillExecuting ¡¡¡¡Do While right1 ¡¡¡¡¡¡ right1 = Inet1.StillExecuting ¡¡¡¡¡¡ DoEvents ¡¡¡¡Loop ¡¡¡¡ÕâÑù±ãʵÏÖÁËÎļþµÄÉÏÔØ¡£ ¡¡¡¡*SINET ¿Ø¼þµÄÓŵ㠡¡¡¡INET¿Ø¼þÓëShell()º¯ÊýµÄ²»Í¬Ö®´¦ÔÚÓÚINET¿Ø¼þͨ¹ýµ÷ÓÃÓï¾ä ¡¡¡¡right1 = Inet1.StillExecuting ¡¡¡¡Do While right1 ¡¡¡¡¡¡ right1 = Inet1.StillExecuting ¡¡¡¡¡¡ DoEvents ¡¡¡¡LoopÀ´¿ØÖÆÓï¾äÖ´ÐеÄ˳Ðò¡£ÔÚÎļþ´«Ê乤×÷δÍê³É֮ǰ,³ÌÐò ²»»áÖ´ÐÐÆäËüÓï¾ä,×ÔȻҲ¾Í²»»á³öÏÖµ÷ÓÃShell º¯ÊýËù³öÏÖµÄÎÊÌâ ¡£±äÁ¿right1ÓÃÀ´²âÊÔinet1 µÄÖ´ÐÐ״̬,Èç¹û½ø³ÌÖÐÈÔÔÚ½øÐÐÎļþ ´«ÊäµÄ¹¤×÷,Ôòµ÷Óùý³ÌDoEvents¸øϵͳ¿ÕÏÐʱ¼äÀ´×öÎļþ´«Ê乤×÷, ÕâÑù±ã³É¹¦µØÖ´ÐÐÁËÎļþÉÏÔصŦÄÜ¡£¸ÃÎļþʹÓÃÍê±ÏÖ®ºó½«±»É¾³ý ¡£ ¡¡¡¡Inet1.Execute "ftp://informix:informix@rd", "DELETE UPLOAD1.TXT" ¡¡¡¡right1 = Inet1.StillExecuting ¡¡¡¡Do While right1 ¡¡¡¡¡¡ right1 = Inet1.StillExecuting ¡¡¡¡¡¡ DoEvents ¡¡¡¡Loop ¡¡¡¡½«ÉÏÔصÄÎļþɾ³ýÊÇΪÁ˱ÜÃâÕ¼Ó÷þÎñÆ÷¶Ë´ÅÅ̿ռ䡣 ¡¡¡¡*SÀûÓÃStateChangedʼþÌáʾÐÅÏ¢ ¡¡¡¡·þÎñÆ÷ÔÚÖ´ÐÐinet1.execute µÄͬʱҲ¼¤»îÁËInet1_StateChang edʼþ,½ø³Ì¿ÉÒÔ¸ù¾Ý²¶»ñµ½µÄ״̬½øÐж¯×÷¡£ ¡¡¡¡object_StateChanged(ByVal State As Integer) ¡¡¡¡State:ÕûÊýÀàÐÍInteger ¡¡¡¡ÏÂÃæÊÇ״̬µÄ˵Ã÷¡£ ¡¡¡¡³£ÊýÖµ¡¡¡¡¡¡ÃèÊöicNone ¡¡¡¡0¡¡¡¡¡¡¡¡¡¡ 䱨¸æ״̬icHostResolvingHost ¡¡¡¡1¡¡¡¡¡¡¡¡¡¡ ¿Ø¼þÕýÔÚÑ°ÕÒÖ¸¶¨Ö÷»úµÄIPµØÖ·icHostResolved ¡¡¡¡2¡¡¡¡¡¡¡¡¡¡ ¿Ø¼þÒѳɹ¦ÕÒµ½Ö¸¶¨Ö÷»úµÄIPµØÖ·icConnecting ¡¡¡¡3¡¡¡¡¡¡¡¡¡¡ ¿Ø¼þÕýÔÚÓëÖ¸¶¨Ö÷»ú½øÐÐÁ¬½ÓicConnected ¡¡¡¡4¡¡¡¡¡¡¡¡¡¡ ¿Ø¼þÒѳɹ¦ÓëÖ¸¶¨Ö÷»úÁ¬½ÓicRequesting ¡¡¡¡5¡¡¡¡¡¡¡¡¡¡ ¿Ø¼þÕýÔÚÏòÖ÷»ú·¢³öÇëÇóicRequestSent ¡¡¡¡6¡¡¡¡¡¡¡¡¡¡ ¿Ø¼þÒѳɹ¦ÏòÖ÷»ú·¢³öÇëÇóicReceivingResponse ¡¡¡¡7¡¡¡¡¡¡¡¡¡¡ ¿Ø¼þÕýÔÚ´ÓÖ÷»ú½ÓÊÕ·´À¡ÐÅÏ¢icResponseReceived ¡¡¡¡8¡¡¡¡¡¡¡¡¡¡ ¿Ø¼þÒѳɹ¦´ÓÖ÷»ú½ÓÊÜ·´À¡ÐÅÏ¢icDisconnecting ¡¡¡¡9¡¡¡¡¡¡¡¡¡¡ ¿Ø¼þÕýÔÚÓëÖ÷»ú¶Ï¿ªicDisconnected ¡¡¡¡10¡¡¡¡¡¡¡¡¡¡¿Ø¼þÒÑÓëÖ÷»ú¶Ï¿ªicError ¡¡¡¡11¡¡¡¡¡¡¡¡¡¡ÔÚÓëÖ÷»úͨÐŵĹý³ÌÖз¢ÉúÁË´íÎóicResponseComp leted ¡¡¡¡12¡¡¡¡¡¡¡¡¡¡ÇëÇó½áÊøÇÒÊý¾ÝÒѾ½ÓÊÕµ½ ¡¡¡¡ÏÂÃæÊÇÒ»¸öÀý×Ó¡£ ¡¡¡¡Private Sub Inet1_StateChanged(ByVal State As Integer) ¡¡¡¡¡¡ ' Retrieve server response using the GetChunk ¡¡¡¡¡¡ ' method when State = 12. This example assumes the ¡¡¡¡¡¡ ' data is text. ¡¡¡¡¡¡ Select Case State ¡¡¡¡¡¡ ¡¡ ' ... Other cases not shown. ¡¡¡¡¡¡ ¡¡ Case icResponseReceived ' 12 ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ Dim vtData As Variant ' Data variable. ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ Dim strData As String: strData = "" ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ Dim bDone As Boolean: bDone = False ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ ' Get first chunk. ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ vtData = Inet1.GetChunk(1024, icString) ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ Do While Not bDone ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ ¡¡ strData = Data & vtData ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ ¡¡ ' Get next chunk. ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ ¡¡ vtData = Inet1.GetChunk(1024, icString) ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ ¡¡ If Len(vtData) = 0 Then ¡¡¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ ¡¡ ¡¡ bDone = True ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ ¡¡ End If ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ Loop ¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡ txtData.Text = strData ¡¡¡¡¡¡ End Select ¡¡¡¡End Sub |