CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

VB程序如何实现SQL-DMO中的 作业修改 功能

楼主cyberjacky(狼心)2005-03-04 17:24:05 在 MS-SQL Server / 基础类 提问

在我的SQL   Server客户端使用企业管理器,进行手动备份数据库,可以直接选择数据库服务器的本地路径。  
      我的程序需要提供一个自动备份功能(我使用SQL-DMO对象,创建自动备份作业)   ,需要在程序UI上可以修改备份路径和备份时间,但是如果数据库服务器不共享文件夹的话,我如何设置备份路径?而且就算是服务器共享了,但是我的程序取到的路径是“\\dbserver\d:\databaseb_backup...”类似这样的路径,这样不行。sql   server   能接受的   备份路径格式只能是   “D:\..”(这个可能还好解决,截去前一段应该可以,但是这违背了程序的初衷,因为路径修改受限于服务器的共享路径)  
   
  调用API函数?查过,好像不太对路,期待解决方法,多谢!  
  问题点数:100、回复次数:11Top

1 楼hdhai9451(☆新人类☆)回复于 2005-03-04 17:42:44 得分 0

這樣的路徑不對\\dbserver\d:\databaseb_backup...”  
   
  應該這樣:  
    \\dbserver\databaseb_backup...  
  而且那個網絡文件夾還要完全共享Top

2 楼hdhai9451(☆新人类☆)回复于 2005-03-04 17:44:13 得分 20

CREATE   procedure   databackup   as  
  DECLARE     @path   varchar(50)  
  declare   @week   varchar(10)  
  declare   @filename   varchar(60)  
  SET   DATEFIRST     1  
  set   @path='f:\backup\'  
  set   @week=   case   DATEPART(dw,getdate())  
                                          when   1   then   '星期一'    
                                          when   2   then   '星期二'    
                                          when   3   then   '星期三'    
                                          when   4   then   '星期四'    
                                          when   5   then   '星期五'    
                                          when   6   then   '星期六'    
                                          when   7   then   '星期天'        
                                          end                                        
  set   @filename=@path+@week+'\datafull'+convert(varchar(10),getdate(),126)+'.bak'  
  backup   database   new_ks   to   disk=@filename  
  GO  
   
   
  這是一個備份的存儲過程,你把它放到job裡,讓它定時運行  
   
  Top

3 楼LoveLwn(小P)回复于 2005-03-04 18:04:23 得分 5

CREATE   procedure   databackup   as  
  DECLARE     @path   varchar(50)  
  declare   @week   varchar(10)  
  declare   @filename   varchar(60)  
  SET   DATEFIRST     1  
  set   @path='f:\backup\'  
  set   @week=   case   DATEPART(dw,getdate())  
                                          when   1   then   '星期一'    
                                          when   2   then   '星期二'    
                                          when   3   then   '星期三'    
                                          when   4   then   '星期四'    
                                          when   5   then   '星期五'    
                                          when   6   then   '星期六'    
                                          when   7   then   '星期天'        
                                          end                                        
  set   @filename=@path+@week+'\datafull'+convert(varchar(10),getdate(),126)+'.bak'  
  backup   database   new_ks   to   disk=@filename  
  GO  
   
   
  UpTop

4 楼cyberjacky(狼心)回复于 2005-03-04 18:08:35 得分 0

hdhai9451:我随便写的,路径的确错了,^_^  
   
  你说的不错,但关键是“需要在程序UI上可以修改备份路径”,我如何在UI上实现,类似sql   server2000企业管理器中可以自由选择数据库服务器的本地路径那样,其实关键就是如何在客户端像企业管理器那样访问服务器的硬盘。前辈,望指点!Top

5 楼cyberjacky(狼心)回复于 2005-03-04 18:17:42 得分 0

up   不要沉底了   :)Top

6 楼cyberjacky(狼心)回复于 2005-03-05 09:03:38 得分 0

up          
   
  help   ^_^Top

7 楼hglhyy(為人民币服务!)回复于 2005-03-05 10:23:56 得分 5

\\dbserver\d:\databaseb_backup...”  
   
  你就肯定有访问dbserver机器的权限吗?  
   
  一楼说得对,用共享文件夹!Top

8 楼cyberjacky(狼心)回复于 2005-03-05 14:48:53 得分 0

我的意思:   你应该在客户端的企业管理器上操作过备份吗吧?   那里可以选择dbsever上的任意盘符,而我在我自己程序界面如何访问?  
   
  也许有可能是因为我在客户端用了什么高级用户可以完全控制dbsever?应该不太可能。Top

9 楼zjcxc(邹建)回复于 2005-03-05 15:19:43 得分 70

用sql语句,调用sql的扩展存储过程就可以得到服务器的目录及文件信息了,涉及到的扩展存储过程如下:  
   
  --得到磁盘信息  
  exec   master..xp_fixeddrives  
   
  --得到服务器指定目录下的目录及文件更表  
  exec   master..xp_dirtree   @path='c:\',@depth=1,@file=1 --参数:目录名,目录深度,是否显示文件  
  dbcc   checkprimaryfile   (N'C:\test\MRP_DATA.MDF',   3)  
   
  --检查指定文件是否存在(是否覆盖备份文件可以利用它来检测并由用户确认)  
  exec   master..xp_fileexist   'c:\boot.ini'  
   
  --显示文件详细信息  
  exec   master..xp_getfiledetails   'c:\boot.inia'Top

10 楼zjcxc(邹建)回复于 2005-03-05 15:21:35 得分 0

楼主可以自己调用上述扩展存储过程,结合程序设计一个类似企业管理器的目录及文件选择窗口给用户  
   
  sql企业管理给出的窗口也是调用上述几个扩展存储过程实现的Top

11 楼cyberjacky(狼心)回复于 2005-03-05 15:58:48 得分 0

多谢邹大哥,昨天我给你发了关于这个问题的短消息,我当时觉得难度就在这里“结合程序设计一个类似企业管理器的目录及文件选择窗口给用户”   因为我以为要做到像企业管理器那样的“目录及文件选择窗口”会比较难...   你列出来的几个扩展存储过程应该可以,我先试试,谢谢!就结贴吧!^_^Top

相关问题

  • SQL作业失败
  • sql vb
  • VB+SQL
  • VB + SQL?
  • VB+sql
  • VB+SQL
  • 急,重装SQL之后作业丢了
  • SQL SERVER中作业的执行
  • vb and sql_server
  • sql与VB

关键词

  • 文件
  • 存储过程
  • 服务器
  • 修改
  • 扩展
  • 数据库
  • 用户
  • 选择
  • 客户
  • 备份

得分解答快速导航

  • 帖主:cyberjacky
  • hdhai9451
  • LoveLwn
  • hglhyy
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo