cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC lookup error with nvarchar

Former Member
0 Kudos

Hello experts.

I have PI 7.3.

I have a scenario where I need to do a lookup to a table in an MSSQL 2008 server.

The column is defined to contain nvarchar (UTF encoded text)

noramlly to do an INSERT - I need to enclose the text in the message mapping with N'<text>'

However - when I try to do the same with the input of the lookup I get the following error:

... 57 more

Caused by: com.sap.aii.mapping.lookup.LookupException: Error

when calling an adapter by using the communication channel

JDBC_RECEIVER_I_ORDERS (Party: , Service: MSDS, Object ID:

c79e34058bea38fb94a866818d62f68d) XI AF API call failed. Module exception: (No

information available). Cause Exception: 'Error processing request in sax

parser: Error when executing statement for table/stored proc. 'table' (structure

'statement'): com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax

near 'ישראל'.'.

at

com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.execute(AdapterProxyLocal.java:127)

at

com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.execute(SystemAccessorInternal.java:76)

at

com.sap.aii.mapping.lookup.DataBaseAccessor.execute(DataBaseAccessor.java:74)

at

com.sap.aii.mappingtool.flib7.SelectSingle.selectSingle(SelectSingle.java:54)

... 62 more

If I don't include the N'<text>' around the text - then the lookup is successful only for english letters. any other language such as hebrew return nothing and I get back NULL from the lookup.

Please assist.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Defined a UDF that took care of it.

Using a code similar to the one in this thread:

http://scn.sap.com/message/13127959

(just added the N' ' by myself to the query)

Former Member
0 Kudos

BTW - I am guessing this is because I can't tell the adapter to not use quotes by himself like when I use a standard INSERT or SELECT with the attribute: hasQuot="no"

Is there a way to tell the JDBC LOOKUP not to use quotes?