以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 导出数据备份在服务器  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=142892)

--  作者:wumingrong1
--  发布时间:2019/11/8 12:05:00
--  [求助] 导出数据备份在服务器

如果把导出的数据表备份一份到服务器上?

 

    Dim dlg As New SaveFileDialog \'定义一个新的OpenFileDialog
    dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
       
        Dim ex1 As New Exporter
        ex1.SourceTableName = "装机工单清单表" \'指定导出表
        ex1.NewTableName = "装机工单清单表" 把导出来的这个数据表存一份在服务器上做为备份
        ex1.FilePath = dlg.FileName
        ex1.Format = "Excel2007" \'导出格式为Excel
        ex1.Export() \'开始导出
       
        MessageBox.show("完成【装机工单清单表】数据导出工作!!!", "非常关键提醒")
       
    End If


--  作者:有点蓝
--  发布时间:2019/11/8 13:43:00
--  
如果是局域网服务器,可以在服务器添加一个共享目录,然后把生成的文件复制过去即可:http://www.foxtable.com/webhelp/topics/0342.htm

如果是远程服务器,需要使用ftp上传:http://www.foxtable.com/webhelp/topics/1410.htm

--  作者:wumingrong1
--  发布时间:2019/11/8 14:28:00
--  

如何把当前要导出的数据表、直接上传到服务器上? 

 

目前是把存在本地电脑上的“c:\\data\\Desert.jpg”上传上去、但是我想实现把我准备导出的文件直接上传;该怎么改?

 

Dim dr1 As DataRow = DataTables("岗位执行操作维护表").sqlFind("表名 = \'装机工单清单表\' And  工作岗位 = \'内线导单组\'  And  执行类型 = \'导出数据权限\'   ")
Dim dt  As DataRow = DataTables("岗位执行操作维护表").sqlFind("表名 = \'装机工单清单表\' And  工作岗位 = \'内线导单组\'  And  执行类型 = \'导出数据字段\'   ")

If  User.Name = "开发者" Or  dr1("列表项目1")  Like  "*"& User.Name &"*"   Then
    Dim str = dt("列表项目1")
    Dim dlg As New SaveFileDialog \'定义一个新的OpenFileDialog
    dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
        Dim ex1 As New Exporter
        ex1.SourceTableName = "装机工单清单表" \'指定导出表
        ex1.NewTableName = "装机工单清单表"
        ex1.FilePath = dlg.FileName

        ex1.Format = "Excel2007" \'导出格式为Excel
        ex1.Fields = ""& str &"" \'指定导出字段
        ex1.Export() \'开始导出
        
       

Dim  ftp1 As  New  FtpClient
 ftp1.Host="196.128.143.28"
 ftp1.Account =  "foxuser"
 ftp1.Password =  "138238110"
 If  ftp1.Upload("c:\\data\\Desert.jpg","\\update\\Desert.jpg") = True Then
      Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
 Else
      Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
 End If
        
       
        
        
        MessageBox.show("完成【装机工单清单表】数据导出工作!!!", "非常关键提醒")
    End If
   
Else
    MessageBox.show("您无权进行该操作,请与管理员联系!!!", "非常关键提醒")
End If


--  作者:有点蓝
--  发布时间:2019/11/8 14:42:00
--  
If  ftp1.Upload(dlg.FileName,"\\update\\Desert.jpg") = True Then
--  作者:wumingrong1
--  发布时间:2019/11/8 18:05:00
--  

 

[此贴子已经被作者于2019/11/8 18:08:48编辑过]

--  作者:wumingrong1
--  发布时间:2019/11/8 18:07:00
--  

 

1、想要实现文件名为:yyyy年MM月dd日HH:mm:ss  提示错误;命令该怎么改?  如果【Format(dt1,"F")】改为【Format(dt1,"yyyy年MM月dd日")】就能正常上传。

2、如果上传服务器备份失败、就不允许导出数据(把导出的数据表删除掉);命令该怎么加?

 

Dim cmd As New SQLCommand
Dim dt1 As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt1 = cmd.ExecuteScalar()


Dim dr1 As DataRow = DataTables("岗位执行操作维护表").sqlFind("表名 = \'装机工单清单表\' And  工作岗位 = \'内线导单组\'  And  执行类型 = \'导出数据权限\'   ")
Dim dt  As DataRow = DataTables("岗位执行操作维护表").sqlFind("表名 = \'装机工单清单表\' And  工作岗位 = \'内线导单组\'  And  执行类型 = \'导出数据字段\'   ")

If  User.Name = "开发者" Or  dr1("列表项目1")  Like  "*"& User.Name &"*"   Then
    Dim str = dt("列表项目1")
    Dim dlg As New SaveFileDialog \'定义一个新的OpenFileDialog
    dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
        Dim ex1 As New Exporter
        ex1.SourceTableName = "装机工单清单表" \'指定导出表
        ex1.NewTableName = "装机工单清单表"
        ex1.FilePath = dlg.FileName
        ex1.Format = "Excel2007" \'导出格式为Excel
        ex1.Fields = ""& str &"" \'指定导出字段
        ex1.Export() \'开始导出
       
       
       
        Dim  ftp1 As  New  FtpClient
        ftp1.Host="61.10.43.50"
        ftp1.Port = 6002
        ftp1.Account =  "12"
        ftp1.Password =  "$._we,"
        If  ftp1.Upload(dlg.FileName,"\\Export the backup\\装机工单清单表\\"& Format(dt1,"F") & "【" & User.Name &"】.xlsx") = True Then

        Else

            删除本地以及导出的对应数据表,命令该怎么写?
            Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        End If
        

        
        MessageBox.show("完成【装机工单清单表】数据导出工作!!!", "非常关键提醒")
    End If
   
Else
    MessageBox.show("您无权进行该操作,请与管理员联系!!!", "非常关键提醒")
End If

[此贴子已经被作者于2019/11/8 18:10:46编辑过]

--  作者:有点蓝
--  发布时间:2019/11/8 20:25:00
--  
1、Format(dt1,"yyyy年MM月dd日HHmmss")
2、
[此贴子已经被作者于2019/11/8 20:25:17编辑过]

--  作者:有点蓝
--  发布时间:2019/11/8 20:27:00
--  

If  ftp1.Upload(dlg.FileName,"\\Export the backup\\装机工单清单表\\"& Format(dt1,"yyyy年MM月dd日HHmmss") & "【" & User.Name &"】.xlsx") = True Then

        Else

            FileSys.DeleteFile(dlg.FileName,2,2)

            Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        End If

[此贴子已经被作者于2019/11/8 20:26:47编辑过]