This topic has been archived. It cannot be replied.
-
工作学习 / IT技术讨论 / .NET,请看进来>>偶想做个windows service,当sql server2000数据库某个表添加新记录的时候,这个service要catch到此变化, 并写到log文件中。我是不是该在service里面设个timer扫描? 奇怪的是有时log文件中什么也没有,有时能看到,还有一个问题,这个service运行的时候老是不能connect到service controller, 经常断了connection,我能在application的log中看到error。
多谢!
-henhen(亨亨 ^_*);
2004-8-13
{339}
(#1841041@0)
-
.net 我不懂,可我觉得,你的要求在sql server里就可以解决了。
-bloor(不老@DebianPlanet);
2004-8-13
(#1841046@0)
-
能不能提示一下?真的case比这麻烦些, 谢谢。 :-)
-henhen(亨亨 ^_*);
2004-8-13
(#1841069@0)
-
是不是check它的log还是用个stored procure?好象可以设置自动运行的SP,偶没做过。
-henhen(亨亨 ^_*);
2004-8-13
(#1841072@0)
-
在数据库的table上建一个trigger,就可以了。具体的就说不出来了,好久没有用过sql了。
-bloor(不老@DebianPlanet);
2004-8-13
(#1841088@0)
-
Create a trigger for that table. In the trigger insert any information for each new added record to a specified table.
-charleslike(愚人);
2004-8-13
(#1841090@0)
-
谢愚人和不老,好久不用了。
-henhen(亨亨 ^_*);
2004-8-13
(#1841092@0)
-
in SQL Server, choose the table: Create Trigger triggername on Inserted
then put you code to write your log to a log file.
-luoboyang(萝卜秧);
2004-8-13
(#1841220@0)
-
谢秧子。:))其实写log file不是最终目的,是想启动另一个application。
还有, 为什么偶的service有时work有时不work?
-henhen(亨亨 ^_*);
2004-8-13
{103}
(#1841222@0)
-
你说的例子用trigger是正确的方法,你用外面的windows service很难保证你能catch到每一次的insert。 在SQL Server里面,可以启动windows app.的。
-luoboyang(萝卜秧);
2004-8-13
(#1841224@0)
-
偶没用过,快教偶这一招,谢谢!
-henhen(亨亨 ^_*);
2004-8-13
(#1841231@0)
-
哪一个?你要call的是什么app?
-luoboyang(萝卜秧);
2004-8-13
(#1841238@0)
-
是自己写的一个c#小程序。可以直接用“call”吗? 这部分偶从来没用过。
-henhen(亨亨 ^_*);
2004-8-13
(#1841247@0)
-
如果可以的话,是否可以用stored procedure or user defined function 来解决?
-luoboyang(萝卜秧);
2004-8-13
(#1841255@0)
-
要有GUI。
-henhen(亨亨 ^_*);
2004-8-13
(#1841257@0)
-
check 'xp_cmdshell' in SQL online help, this one can run a command.
-luoboyang(萝卜秧);
2004-8-13
(#1841259@0)
-
多谢秧子,偶对这些实在不熟。
-henhen(亨亨 ^_*);
2004-8-13
(#1841260@0)
-
谢谢!
-henhen(亨亨 ^_*);
2004-8-13
(#1841265@0)
-
1.xp_cmdshell 通常只能用于执行 OS DOS COMMAND; 2. 不是所有的database user 都有default permission 去call 那个 xp; 3. 要想在SQL SERVER里直接调用.NET 的 程序,目前只有还没有正式发表的YUKON可以办到。
-yangn(Raymond);
2004-8-13
(#1841269@0)
-
好象新的可以用c# 写SP,还没用过, 不喜欢SP就是不喜欢写法。谢谢!
-henhen(亨亨 ^_*);
2004-8-13
(#1841272@0)
-
终于把你这个玉给引出来啦。:)一般来讲,权限不是问题,小程序而已。// 你用马甲吧,不然这个SQL Server问题怎么跟个trigger似的就把你call 出来了?哈哈。
-luoboyang(萝卜秧);
2004-8-13
(#1841277@0)
-
嘿嘿。俺可不是什么玉,也没有马甲啊。对于一般的user而言,一般情况下,都不会轻易给权限执行xp_cmdshell,因为具有这个权限以后,它几乎可以象admin一样通过sql server对OS作任何的事情
-yangn(Raymond);
2004-8-13
(#1841300@0)
-
这个是trigger里面阿。
-luoboyang(萝卜秧);
2004-8-13
(#1841304@0)
-
trigger里面作的任何事情都要受到create trigger的user 所具有的permission所限制。
-yangn(Raymond);
2004-8-13
(#1841316@0)
-
比如插入一条记录以后,开始启动一个windows application。在stored procedure里面也可以吗?
-henhen(亨亨 ^_*);
2004-8-13
(#1841251@0)
-
#1841259, in your trigger, insert this line to call C# application.
-luoboyang(萝卜秧);
2004-8-13
(#1841261@0)