on 2010 Feb 02 9:31 AM
We use in all procedures customized error codes to give feedback to the client what was wrong.
// Initialized during Database generation
sp_addmessage 20102, 'Some Custom Error Message %1! only as an Example';
....
// In Procedures
raiserror 20102, 'with a Parameter';
We have different users working with the same instance of the Database in different countries in Europe.
My first thought was to have a translation table an query with the error code against this table. But what about the parameters used ?
What is best practice ? Is it possible to avoid a second call to the database ?
Kind Regards Thomas
You can choose the langauge for error messages with the dblang utility or the "SALANG" environment variable. But this setting only applies to "integrated" error messages. For custom errors, created with "create message" or "sp__addmessage" ( i can't find a sp_setmessage procedure even in the newest help for SA12) there is no possibility afaik to store different messages for different languages in SA (as, according to the help file, is available in ASE). We used our own table and function and the connection property "language", which is set through the aforementioned steps.
raiserror 2000009 dba.Lang_getMessages(2000009,connection_Property('language')),Zim(LfZimmer)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
No i dont call it afterwards, the result of the function is the error message for raiserror and you can use parameters as before ( "Zim(LfZimmer)" is another function which returns a string for the parameter "LfZimmer" and it's used in the error message %1!). The example is just one statement, which was wrapped.
User | Count |
---|---|
62 | |
10 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.