当前位置:首页 » 文件管理 » 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-16 01:38:59 浏览:421
尾货棉服直播间脚本 发布:2025-01-16 01:21:45 浏览:227
vb编程步骤 发布:2025-01-16 01:11:58 浏览:201
bb霜解压 发布:2025-01-16 01:11:11 浏览:596
编程怼人 发布:2025-01-16 00:53:08 浏览:760
建立共享服务器地址 发布:2025-01-16 00:26:40 浏览:565
android开机动画修改 发布:2025-01-16 00:26:26 浏览:872
怎么解压pc版游戏 发布:2025-01-16 00:16:32 浏览:122
v9更新到91有方舟编译器吗 发布:2025-01-16 00:11:49 浏览:500
AB系统编程 发布:2025-01-16 00:09:37 浏览:621