當前位置:首頁 » 文件管理 » pbftp

pbftp

發布時間: 2022-06-30 08:23:55

⑴ PB怎麼做文件的上傳和下載啊

通過ftp可以,網上搜個PB升級源碼就可以,裡面有相應代碼。

⑵ 請問如何用pb訪問ftp並下載文件到本地呢

涉及的操作較多,可以私信聯系方式,給你發常式

⑶ PB連接FTP中文件夾

先說說思路,按照你的想法來看,當dw_2裡面有數據時,單擊按鈕cb_1就打開dw_2中當前選中的記錄所對應的FTP.那麼問題就是要抓到dw_2中當前選中記錄的企業名稱的值,用dw_2.getitemstring(dw_2.getrow(), 'b_name')就可以解決,然後根據此值來打開對應的FTP文件夾.
cb_1的clicked代碼如下:
string ls_b_name
if dw_2.getrow() > 0 then //判斷dw_2裡面是否有值
ls_b_name = dw_2.getitemstring(dw_2.getrow(), 'b_name')
choose case ls_b_name
case '一號廠'
//這里寫打開一號廠的ftp的代碼
case '二號廠'
//這里寫打開二號廠的ftp的代碼
case '三號廠'
//這里寫打開三號廠的ftp的代碼
end choose
end if

還有就是用變數實現,比較靈活,但是思路是一樣的.
cb_1的clicked代碼大概是:
string ls_b_name
if dw_2.getrow() > 0 then //判斷dw_2裡面是否有值
ls_b_name = dw_2.getitemstring(dw_2.getrow(), 'b_name')
//這里用變數來實現廠名,我只幫你改最關鍵的部分,就是下面這一句
iinet_base.HyperlinkToURL('ftp://192.168.0.1/' + ls_b_name )
end if

⑷ PB調用INTERNETCONNECT 連接FTP返回0 不知道什麼原因解決思路

Function Long InternetOpen(String sAgent, Long lAccessType, String sProxyName,String sProxyBypass, Long lFlags) Library "wininet.dll" Alias For "InternetOpenA"

Function Long InternetConnect(Long hInternetSession, String sServerName, Integer nServerPort, String sUsername,String sPassword, Long lService, Long lFlags, Long lContext) Library "wininet.dll" Alias For "InternetConnectA"

⑸ 如何建立 PB 的開發環境

PowerBuilder是最常用的基於Windows操作系統的資料庫前端開發工具之一,它通過不同的驅動程序連接不同的資料庫,再通過
這種連接,實現對數據的管理。而基於Sco Unix的Informix-OnLine資料庫因其具有高性能、高可靠性、支持數據完整性定義和檢查等特性也被廣泛應用。用PB和Informix-OnLine組合構建跨平台集成開發環境可以發揮PowerBuilder和Informix-OnLine各自的優勢,充分利用Windows和Unix操作系統的特點,因此對於軟體開發者和最終用戶來說,是一個不錯的選擇。

下面以在客戶端Windows操作系統上安裝PowerBuilde 8和Informix-Cli,在伺服器端SCO Unix 3.2上安裝Informix-OnLine 7.23,建立口令為ccb的Informix用戶,並以創建資料庫atm為例詳細介紹如何用PB和 Informix-OnLine構建跨平台集成開發環境。

配置Informix-OnLine

Informix-OnLine的配置涉及5個文件:/etc/hosts,
/etc/services, /usr/informix/etc/sqlhosts, /usr/informix/.profile,
/usr/informix/etc/onconfig.atm。

1.修改Unix系統中的TCP/IP連接文件:/etc/hosts和/etc/services。

hosts中存放機器名和IP地址的對應關系,網路上每台使用Informix-OnLine的計算機,都必須在此文件中加入一行,包括IP地址、主機名和主機別名三個域,其中主機別名為可選域,例中加入一台客戶機(hbfcli)和伺服器(atmserver),在hosts中體現為兩行(主機別名域未用):

74.64.44.8 atmserver

74.64.191.170 hbfcli

2.修改/etc/services。

services文件中每一行為一個服務,包括服務名、埠號/協議、別名三個域,其中別名為可選域。服務名和埠號是任意的,但在文件中必須是惟一的,而且在網路上每台使用本Informix-OnLine的計算機上都必須相同。本例中加入如下一行:

sqlexec 6666/tcp

3.修改/usr/informix/etc/sqlhosts。

sqlhosts文件包含你提供的讓客戶應用查找,並連接到網路上任意地方的Informix-OnLine伺服器的信息。該文件必須包含一行(一個登錄項),包括五個域:資料庫伺服器名、網路類型、主機名、服務名和選項域。

資料庫伺服器名(dbservername)和Onconfig文件(本例為onconfig.atm)中的DBServerName或DBServerAliases相同。網路類型域描述在客戶應用和資料庫伺服器之間的介面/協議組合類型,由三個子域共八位組成: 前兩個字母代表資料庫伺服器產品,中間三個字母代表界面介面,最後三個字母代表網路協議(或IPC機制),例如「on」代表資料庫伺服器為OnLine,「tli」代表界面介面為傳輸級介面,「tcp」代表網路協議為TCP/IP協議。當網路協議(或IPC機制)為共享內存(shm)或數據流管道(str)通信時,主機名域必須是實際運行OnLine的計算機主機名。本例中網路協議為TCP/IP, 該域應作為/etc/hosts文件的鍵,給出的計算機網路地址,應與/etc/hosts文件中的主機名域相對應,故本例中應為atmserver。服務名域的解釋取決於網路類型中規定的連接類型,當網路協議(或IPC機制)為共享內存(shm)或數據流管道(str)通信時,OnLine內部使用服務名域的值,此時可使用任何惟一的短字母組。本例中網路協議為TCP/IP, 該域應為/etc/services文件中的服務名域,故本例中應為sqlexec,選項域在指定連接中提供額外的靈活性,本例中未用。

atmpos_a ontlitcp atmserversqlexec

4.修改/usr/informix/.profile。

在.profile文件中,要設置Informix-OnLine伺服器所必需的四個環境參數: InformixDirOnConfig、InformixServer和Path。本例中設置如下:

InformixDir =/usr/informix

OnConfig =onconfig.atm

InformixServe=atmpos

Path =$HOME/bin:$INFORMIXDIR/bin:.

5.修改/usr/Informix/etc/onconfig.atm。

onconfig.atm文件為.profile文件中設置的OnConfig環境參數,onconfig.atm文件中的DBServerName或DBServerAliases必須與sqlhosts文件中的資料庫伺服器名(dbservername)相同。本例中DBServerAliases與sqlhosts文件中的資料庫伺服器名相同,為atmpos_a。

DBSERVERNAME atmpos

DBSERVERALIASES atmpos_a

配置客戶端Informix-Cli

1.修改Windows系統中的TCP/IP連接文件:c:\ windows\ hosts和c:\ windows\ services。Windows 2000中這兩個文件在c:\ WINNT\ system32\ drivers\ etc目錄下。這兩個連接文件的作用、使用方法及內容分別與伺服器端的/etc/hosts和/etc/services相同。

在c:\ windows\ hosts中加入如下兩行:

74.64.44.8 atmserver

74.64.191.170 hbfcli

在c:\ windows\ services中加入如下一行:

sqlexec 6666/tcp

2. 選「開始→程序→informix-cli32→Informix SetNet32」中的ServerInformation項,各文本框參數對應如下:

InformixServer atmpos

HostName atmserver

Protocalname onsoctcp

ServiceName sqlexec

InformixServer與 onconfig.atm文件中的DBServerName或DBServerAliases一致。HostName與「c:\ windows\ hosts」文件中的伺服器(atmserver)一行對應,也可直接使用IP地址74.64.44.8。ServiceName與「c:\ windows\ services」中加入的服務相同。各參數全部輸入完畢後按「Make Default Server」按鈕。

3.選「開始→程序→informix-cli32→Informix SetNet32」中的HostInformation項,各文本框參數對應如下:

CurrentHost atmserver

UserName informix

PasswdOption passwd

Passwd ccb

CurrentHost自動獲取 ServerInformation項中InformixServer的值。UserName為在伺服器端能使用Informix-OnLine資料庫的用戶。PasswdOption用下拉框選擇需要口令。Passwd輸入伺服器端informix用戶的口令。

3. 選擇「開始→程序→informix-cli32→Iogin32Demo」的File菜單中的Run菜單項, 改StoreDatabase文本框內容為atm後按「確定」。若出現「Customer Records Found」對話框,且未報錯,則客戶端的Informix-Cli和伺服器端的Informix-OnLine連接成功。

配置PowerBuilder

下面完成客戶端PowerBuilder的配置工作。

1. 配置ODBC數據源。

Informix資料庫既可以通過ODBC連接,也可以通過專用介面連接,本文介紹ODBC連接方式。

打開Windows控制面板,雙擊「ODBC數據源」,在「ODBC數據源管理器」對話框中創建用戶DSN。單擊「添加」按鈕,打開「創建數據源」對話框。選擇驅動程序Informix-CLI2.5(32 bits),再通過向導打開「ODBC INFORMIX7.2 Driver Setup」對話框,輸入「數據源名」為atmdsn,「資料庫名」為atm。

2. 創建資料庫描述文件。

在PowerBuilde 8中,通過ODBC連接到資料庫需要經過兩個步驟: 創建數據源和創建資料庫描述文件。

在創建資料庫後,啟動PowerBuilde 8後,單擊「DBProf」按鈕,打開「Database Profiles」對話框,單擊「ODB ODBC」圖標,然後單擊「New」按鈕,打開「Database Profile Setup-ODBC」對話框。在「Connection」選項卡的「Profile Name」文本框中輸入資料庫描述文件的名字為atmpro,在數據源下拉列表框中選上一步創建的數據源atmdsn,在「User ID」和「Password」文本框中分別輸入連接資料庫時的用戶標識Informix和密碼ccb。

然後單擊「Preview」選項卡,就可以預覽所創建的資料庫描述文件,即按照資料庫描述文件的語法格式顯示通過這些對話框的各個選項卡所設置的相關參數。單擊其中的「Test Connection」按鈕可測試所建立的連接。單擊其中的「Copy」按鈕可將其中的資料庫描述文件復制到剪切板上。若復制到應用中,並加上connect語句,就可實現以程序方式與資料庫連接。

資料庫描述文件創建完成後,在「Database Profile」對話框中,選擇「ODB ODBC」文件夾下新創建的資料庫描述文件atmpro,然後單擊「Connect」按鈕,即可連接到伺服器端Unix平台的Informix-Online資料庫伺服器的資料庫atm上。

⑹ pb怎樣打開ftp伺服器上的pdf文件

使用虛擬列印機pdf factory即可實現,而且其他格式文件只要是能夠列印,選擇這個虛擬列印機,都可以做成PDF文件,很簡單實用,一勞永逸。

⑺ PB實現FTP功能的方式有哪些

簡單上傳下載實例(/*....*/為注釋): 先假設有一FTP伺服器,FTP伺服器:qint.ithot.net,用戶名:username 密碼:user1234。在本地電腦D:盤創建一個文件夾"qint"。將要上傳的文件復制到d:\qint里。通過FTP命令將文件從本地上傳,從伺服器下載的...

⑻ 需要PB的FTP源代碼,網上找了幾個都不好用

在PB中實現FTP傳輸

在用PB進行開發時常常需要用到ftp功能,最典型的應用就是將數據窗口中的數據生成txt文件,然後將此數據文件用ftp發送到遠程伺服器上去。由於pb本身並未提供任何ftp的功能,因此想在pb中進行ftp傳輸,只能應用pb以外的資源。以下是筆者在pb開發中總結出來的幾種方法。

1、使用外部命令
這種方法就是在pb程序中運行Windows中自帶的ftp命令。具體做法是在程序中生成一個.bat文件,將要運行的ftp命令寫到此文件中,再運行這個批處理文件。假設ftp伺服器ip為 202.114.67.2,用戶名為user,口令12345,現在要將本地c:\temp\下的t00001.txt文件上傳到伺服器的\txtdata\目錄下去。則pb代碼如下:

integer li_bat //文件名指針
li_bat = FileOpen(path_ftp+'get_file.bat',
lineMode!, Write!, LockWrite!, Replace!)

FileWrite(li_bat, 'cd c:\temp\')
FileWrite(li_bat, 'ftp 202.114.67.2')
FileWrite(li_bat, 'user)
FileWrite(li_bat, '12345')
FileWrite(li_bat, 'put t00001.txt
\txtdata\t00001.txt')
FileWrite(li_bat, 'bye')
FileWrite(li_bat, 'exit')
FileClose(li_bat)
Run(path_ftp+'get_file.BAT',Minimized!)
messagebox("提示信息","數據上報完畢")

此方法的優點是簡單易行,既不要調用API函數,也不需加入OLE。缺點一是要運行外部命令,將會打開dos窗口,顯得不夠和諧;二是數據傳輸成功與否無法判斷,在編程時不好控制。

2、使用Internet Transfer控制項
Internet Transfer控制項是網路編程中非常常用的控制項。它支持目前Internet上使用最為廣泛的兩種協議,即Http和Ftp。在windows98中它是由系統自帶。有關此控制項的詳細資料請查看相關書籍。這里我們只使用它的Ftp功能。在PB中加入一個與此控制項的OLE,取名ole_1,並按以下數據設置此控制項的屬性(注意不是ole_1的屬性),表中沒有列出的屬性請用預設值:

屬性 值 說明
Protocol 2 指定用Ftp協議
Remotehost 202.114.67.2
Username User1
Password 12345

Internet Transfer控制項支持兩種數據傳輸方式,即同步傳輸方式和非同步傳輸方式。同步傳輸方式在數據傳輸時會阻塞程序,此功能是通過調用該控制項的OpenUrl方法來實現的;而非同步方式則不會阻塞程序,它通過調用控制項的Execute方法來實現。同步方式雖然易於控制,但它只能下載文件,不能上傳文件,這使得它在實際的應用受到限制。要實現數據的上傳下載,只能使用此控制項的非同步傳輸方式。要完成上例中的功能,在PB程序中加入以下語句即可:

Ole_1.object.execute("","put c:
\temp\t00001.txt \txtdata\t00001.txt")

同理,如果要將伺服器上的文件下載到本地,在程序中加入即下語句:

Ole_1. object.execute("","get \txtdata\t00001.txt c:\temp\t00001.txt")

Internet Transfer控制項的功能很強大,利用它足以製作一個功能比較完善的FTP工具,而且它是操作系統自帶的,在編程時不需要注冊新的控制項。但根據筆者的使用經驗,此控制項也有兩個不能忽視的缺點,其一、它的數據上傳下載是非同步傳輸的,在每次只運行一個ftp命令時尚可,如果一次運行多個ftp命令就會出錯。比如說,我們想先進入伺服器的\file目錄,再上傳數據,這樣程序應如下:

Ole_1.object.execute("","cd \file\")
Ole_1.object.execute("","put
c:\temp\t00001.txt \txtdata\t00001.txt")
由於execute方法是非同步執行的,它不等第一個語句完成就開始執行第二條語句,這樣可能伺服器還來不及將當前目錄轉到\file下數據已經開始上傳,造成錯誤。

其二、筆者還發現一個莫名其妙的問題,那就是利用此控制項進行上傳時它會將上傳到伺服器上的文件的文件名改為大寫,如上例中,本地的t00001.txt上傳到伺服器上後,它的名字會變成T00001.TXT,這在NT上自然無妨,但在Unix機器上就可能帶來錯誤。

3、使用Mabry Internet FTP/X Control
此控制項是由Mabry Software公司提供的一個用於Ftp的控制項,讀者可以到www.mabry.com上去下載此控制項(mftpx.ocx)。經比較,筆者認為在進行ftp傳輸方面,使用此控制項進行編程最方便。它能完成絕大部分Ftp的功能,而且在編程中能很方便地控製程序的運行。比如說要完成前述功能,我們先注冊該控制項,然後在PB程序中加入一個該控制項的Ole,取名Ole_1;一個單行編輯器Sle_1,用為顯示有關信息;一個按鈕Cb_1,點擊它時進行Ftp操作。另設一個boolean 型Instance Variables,取名is_con,並將它設為false,用於指示網路是否已連通。對該控制項的屬性進行如下設置:

屬性 值 說明
Host 202.114.67.2
Logonname User
Logonpassword 12345
Timeout 10 根據實際情況設置

在Cb_1的clicked事件中加入以下代碼:

sle_1.text = "正在連接....."
setpointer(hourglass!)
ole_1.object.connect()

if is_con then
sle_1.text = "開始傳輸...."
ole_1.object.putfile
("c:\temp\t00001.txt","/txtdata/t00001.txt")
sle_1.text = "傳輸完畢!"
end if

setpointer(arrow!)
is_con = false
在Ole_1的各事件中加入相應代碼:
connected事件:
if fconnected then
sle_1.text = "連接成功!"
is_con = true
else
sle_1.text = "連接失敗!"
is_con = false
end if
externalexception事件:
sle_1.text = "外部錯誤,可能網路不通"

action = ExceptionIgnore!
progress事件:
sle_1.text = "已傳輸"
+ string(bytestransfered)+"位元組....."

⑼ PB如何通過批處理實現遠程連接,獲取指定路徑下的文件,FTP功能

不用FTP也可以
直接利用微軟的x
首先建立遠程主機的網路映射,然後直接拷貝,還可以建立例外拷貝列表(就是不拷貝那些文件)

如下即可:
rem 程序說明
cls
@echo off
Title [程序拷貝]
::begin-----------------------------------
rem 建立網路映射
cd C:\
net use \\192.168.10.2\拷貝目錄名 遠程伺服器密碼/user:administrator
rem 排除文件列表
\\192.168.10.2\拷貝目錄名\not.txt
rem 復制文件且不復制not.txt中指定的名字
x \\192.168.10.2\拷貝目錄名 /D /Y /S /E /EXCLUDE:not.txt
net use \\192.168.10.2\拷貝目錄名 /del /y
cls
cd %cd%
echo 拷貝完畢
rem 啟動拷貝過後 可以執行的程序
start 123.exe
exit
::end-----------------------------------

⑽ PB SYNC程序同步功能FTP

是在不行直接用伺服器自帶的IIS下的 FTP吧!! 不過用這個要在許可權設置上費點功夫

熱點內容
怎麼看聯系人存儲位置 發布:2025-01-15 22:47:14 瀏覽:792
旗艦560配置的是什麼發動機 發布:2025-01-15 22:40:59 瀏覽:624
sql多表連接查詢 發布:2025-01-15 22:33:12 瀏覽:219
android網路休眠 發布:2025-01-15 22:32:12 瀏覽:348
怎麼不下魯大師查看電腦配置 發布:2025-01-15 22:30:23 瀏覽:309
php頁面亂碼 發布:2025-01-15 22:28:49 瀏覽:845
夢幻寶貝腳本 發布:2025-01-15 22:27:36 瀏覽:256
安卓怎麼調成2g網 發布:2025-01-15 22:21:40 瀏覽:284
android小車 發布:2025-01-15 22:21:15 瀏覽:923
微信怎麼沒有設置密碼 發布:2025-01-15 22:19:00 瀏覽:686