This is apparently what the problem was.
StrataFrame needs to make one of 2 changes. Either make this property default to FALSE or give you the option to use a stored proc instead of the DAL generating a raw select statement. The way that this is setup is going to cause anyone who uses stored procs for data access (which I firmly believe is the only way it should be done) a problem at some point. I've been using StrataFrame since it's inception and am very suprised I've not run into this before...and a little concerned that it is happending in production and just havn't heard about it yet.
Thanks much for your help!
Clay
Just prior to hitting the .Save(), I started a trace. There were 3 lines in the trace...the 3rd of which died.
I have absolutely no idea where the Select came from and worse...no idea how to get rid of it.
Yea...the key is the same accross everything. It was one of the first things I checked. I've not checked inserts and deletes b/c they never happen in "real life". With that said, I could rig something to try it.
All data access is performed via sproc. I purposely develop using a SQL User that has only EXECUTE rights on the sprocs to prevent these types of problems going into production.
The problem still comes down to the SELECT statement shown above. I can absolutely guarantee you that I didn't write it. I would never have named a parameter "@PARAM0=10024" My parameters are all either named for the Field name (@FIRST_NAME) or using a convention (@aiMyParam). I did do a global search of the solution to be sure and it did come up empty.
This has to be coming from somewhere in the StrataFrame DAL.
Thanks for the reply. I do everything under a role named db_executor which I grant EXECUTE to all sprocs but only that. The user SprocUser is a member of that role and nothing else. I've logged into management console using SprocUser and can run the sproc without a problem. Its the SELECT statement that causes it to puke. When I grant db_reader to the SprocUser, it works...but that is not going to fly long term. I have 40 or so BOs in this project and all of the rest work fine.