日期:2014-05-17  浏览次数:20396 次

SQL 的高级运用,闻所未闻?!?
近期,我碰到一个问题:
能否可以用数据库(SQL 2000)自动抓值(每天的同一个时间段,比如上午8点半),再把所抓的值自动复制到 excel(注:每次复制之前,要把之前的内容给删除,要保证excel中是最新的数据,其中excel的格式是固定的)。最后自动发送到需要这些数据的人的邮箱(用的是outlook)。
各位前辈,能否帮帮小鸟呀?
给方法也可以!!!
小鸟先谢过、、、

------解决方案--------------------
可以做的,SQL 2000里有个功能DTS可实现这个功能,DTS在2005以后的版本被变成了SSIS,是SSIS的前身。
------解决方案--------------------
定时导出可以用作业执行。
不过还要发邮件之类的,貌似不是sql做的事情~~~
------解决方案--------------------
如果是2005以上的版本,就用SSIS可以实现你要求的所有功能,如果是2000的版本用DTS呢。2000能不能发邮件,我就不晓得了,没用2000发过邮件。
------解决方案--------------------
能做,用DTS(2000),不过要怎么说,真不知道怎么告诉你
------解决方案--------------------
引用:
引用于: 2013-12-27 10:36:08 
如果是2005以上的版本,就用SSIS可以实现你要求的所有功能,如果是2000的版本用DTS呢。2000能不能发邮件,我就不晓得了,没用2000发过邮件。 

我查了下,2000有DTS ,可是如何发送到指定的邮箱,还有就是怎么把前一天的数据清空,把最近的数据给复制上去,另外,我的excel中有7个sheet,都要抓值,!能让它自动来发送,执行这些任务么? 各位高人,在线求指教、、、、、做个邮件列表的表,2000也有数据库邮件这个功能,不过发邮件的功能最好借助外部实现,比如用.net等
------解决方案--------------------
你是要给用户自动发送报表吧。asp.net给发送到指定邮箱,微软已经给出了解决方案,你用SMTP就可以。怎么复制到excel指定的sheet,是你要有个excel模板,然后你先将数据写到临时表,再批量写到excel模板中。
------解决方案--------------------
用SSIS写个DTS包就行了,不麻烦。
------解决方案--------------------
按照这个配置一下:

使用SQLServer2000 发送邮件详细配置过程 
http://blog.csdn.net/zlp321002/article/details/523113
------解决方案--------------------
自动抓值   数据库是完全可以实现的。至于邮件发送,那都不晓得了。
------解决方案--------------------
引用:
按照这个配置一下:

使用SQLServer2000 发送邮件详细配置过程 
http://blog.csdn.net/zlp321002/article/details/523113


补充,如果不使用SQL Mail的话
try http://support.microsoft.com/kb/312839/zh-cn
------解决方案--------------------
似乎我做的,没导出到EXCEL其他的功能一样
------解决方案--------------------
发送邮件功能,
SQL2000用自带的SQL Mail工具.
SQL2008用自带的Database Mail工具.
------解决方案--------------------
结合C#去做吧,

------解决方案--------------------
通常这样的需求我们都用C#来做。
用C#连接数据库,读数据,写到EXCEL中。这部分功能在C#版块应该能找到。
发邮件用JMail。网上应该可以搜到。
------解决方案--------------------
好像SQL2000邮件是发不了附件的吧,楼主还得写一个调用outlook的程序,让outlook发送指定位置的附件