Hi all,

I'm researching how to move data from a C#.Net web program into our accounting MAS90 database and back. I can do this manually, what I want to attempt to figure out is how to make the system do it without me having to hit a button. I'm hearing we should avoid triggers and I'm not sure why or how else to go about it.

Any help, ideas or direction towards what to look up would be greatly appreciated.

Thanks

Recommended Answers

All 4 Replies

If you need it done for each and every update, triggers are pretty much the only way to do it, but you dont have any method to throttle it.

If you can bear to batch it, then trigger the batch check every x minutes. You can do so.

LizR

We can probably batch it as we only cut checks twice per week as it is and the other info could be shared at that time I suppose.

Any ideas why people would say to shy away from triggers? I thought because it's harder to track when there was an error or something?

Triggers serve a purpose, and if it was a lowish transaction base, then Id say go for it. Triggers if setup incorrectly can cause havoc in terms of recursion, stack, network bandwidth, disk bandwidth, cpu etc.. depending on what you do with them.

By writing a kinda batch system, that runs through and looks for updates, you can seriously throttle and control how much how often etc, and this is often key.. after all, if something goes wrong and your triggers gone recursive... only option is to down the db, and potentially waste time trying to repair it.. depending on size, this could be hours.. (one guy dumped a table where I work by mistake, took 47 hours to recover for example) where as, again, an outside batching/searching system if it starts playing up.. You kill it. Job done.

That makes sense, I thought you meant batch the updates in the trigger at first. :)

I'll start looking into that more, thanks again

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.