免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: Thomasdottang
打印 上一主题 下一主题

Client Access 问题(急!!) [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-07-10 14:21 |只看该作者

Client Access 问题(急!!)

使用IBM CA 提供的Api函数:
    Dim AsSys As New cwbx.AS400System
    Dim AsTr As cwbx.DatabaseTransferResults
    Dim Dlt As New cwbx.DatabaseDownloadRequest
    Dim DltACC As cwbx.DatabaseDownloadASCIIOptions
    Dim SysNum As Integer
    Dim SysExist As Boolean
    Dim StrTime As Date
    Dim FreeNum As Integer
    '检查收到的地址是否有效 AS400
    SysExist = False
    StrTime = Now()
    For SysNum = 1 To SysName.Count
        If SysName.Item(SysNum) = RunInput(1) Then
            SysExist = True
            Exit For
        End If
    Next SysNum
    If SysExist = False Then
        Ca_Down = -305
        Exit Function
    End If
    '开始系统连接定义
On Error GoTo SysErr
    AsSys.Define RunInput(1)                  (ip地址)
    AsSys.UserID = RunInput(2)              (用户名)
    AsSys.Password = RunInput(3)          (密码)
    AsSys.Signon
   
    '开始下载定义
    Set Dlt.System = AsSys
    Dlt.AS400File = RunInput(4)              (库名/表名)
    Dlt.Query.Select = RunInput(5)          (字端名)
    Dlt.Query.Where = RunInput(6)         (条件)
    If Trim(RunInput() = 0 Or Len(Trim(RunInput()) = 0 Then
        Dlt.pcFile.FileType = cwbdtASCIIText    (保存格式)
        Set DltACC = Dlt.pcFile.Options
        DltACC.TruncateSpaces = False
        DltACC.CodePage = cwbnlCodePageClientANSI
    Else
        Dlt.pcFile.FileType = cwbdtCSV
    End If
    Dlt.pcFile.Name = RunInput(7)
    '开始下载
On Error GoTo DltErr
    Dlt.Download
    Set AsTr = Dlt.TransferResults
    '下载结果处理
On Error GoTo AsTrErr
    If AsTr.DataErrors.Count >; 0 Then
        Select Case AsTr.DataErrors.Item(1).ErrorType
            Case 1, 5
                Ca_Down = -311
            Case 2, 6
                Ca_Down = -312
            Case 3, 7
                Ca_Down = -313
            Case 4, 8
                '数据转换错误
                Ca_Down = -314
        End Select
    End If
    Ca_Down = DateDiff("s", StrTime, AsTr.CompletionTime)
    Set DltACC = Nothing
    Set Dlt = Nothing
    Set AsSys = Nothing
    Exit Function
DltErr:
    Select Case Dlt.Errors.ReturnCode
        Case 3
            '下载文件目录不存在
            Ca_Down = -322
        Case 112
            '磁盘空间满
            Ca_Down = -323
        Case 7004
            '空记录
            FreeNum = FreeFile
            Open RunInput(7) For Append As #FreeNum
            Close #FreeNum
            Ca_Down = -308
        Case 6053
            '通讯错误
            Ca_Down = -306
        Case 7412
            'AS400系统文件存在记录锁
            Ca_Down = -307
        Case 7040
            '指定文件或者库不存在
            Ca_Down = -316
        Case Else
            '出现无法预测错误
            Ca_Down = -317
    End Select
    Set AsSys = Nothing
    Exit Function
SysErr:
    Select Case AsSys.Errors.ReturnCode
        Case 8002
            '密码错
            Ca_Down = -309
        Case 8001
            '用户名错
            Ca_Down = -310
        Case Else
            '出现无法预测错误
            Ca_Down = -317
    End Select
    Exit Function
AsTrErr:
    Ca_Down = -315
End Function
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP