Trouble with \"$\" in a field name -ODBC adapter

We run EI 4.5.1 on Windows 2000.

A problem appears when we use the ODBC adapter (requesting a SQL Server table) :

A configured operation “select” on a table which contains “$” in the field name (ex : LSM$DF, field of the table F561143) looks like this : t1.LSM\$DF but it doesn’t work at all.

When we run the adapter debug mode, we can see that the select/insert works on a LMS field… It doesn’t understastand what’s after the ‘$’ char!

For now we use a view from the original table moving every “$” into “S”. This is not a good solutions because of technical reasons (indexes, execution time, …).

Thank you for answering me as soon as possible since it becomes very annoying (it makes the customer nervous ;o)) )

Cheers

Have you tried using a custom sql for the select?

However, if this is your select, that may be only half of the solution:

“select LSM$DF from F561143”

Then, most likely what will happen is that when the adapter interprets this line for replacing expressions, you query will be evaluated to:

“select LSMDF from F561143”

My guess is that the adapter will be calling:

BrokerEvent.toFormattedString();

Which seems to have the habit of not only replacing ${input_parameter} expression but it also replaces stand alone ‘$’ characters. So the work around is to create an additional input parameter (seen on the Input tab) and modify your query as such:

“select LSM${some_new_input_parameter}DF from F561143”

Now, in your integration component you will have to assign a value to the ‘some_new_input_parameter’ parameter. That value should be a $ sign.

If you’re still confused, fire me an email with the select you intend to do. It’ll take me 2 minutes to make an adl that shows this.

Tony.
tony.wold@supervalu.com