• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1253
  • Last Modified:

Msg 7321, Level 16, State 2, Line 1 occurs on only one of three servers

I have three Microsoft SQL Servers 2005 Enterprise Edition.
We installed IBM DB2 UDB for iSeries IBMDA400 OLE DB Provider version on all of them.
We created the linked server PS_DWH using this provider to perform queries agains a DB2 database.
On one of those servers, I'm having issues to run the following query:

select * from openquery(ps_dwh,'select substring(abalph,2,4) from proddta.f0101')

It raises the following error:

OLE DB provider "IBMDA400" for linked server "ps_dwh" returned message "SQL0104: Token ,2 was not valid. Valid tokens: , FROM.
Cause . . . . . : A syntax error was detected at token ,2. Token ,2 is not a valid token. A partial list of valid tokens is , FROM. This list assumes that the statement is correct up to the token. The error may be earlier in the statement, but the syntax of the statement appears to be valid up to this point. Recovery . . . : Do one or more of the following and try the request again: -- Verify the SQL statement in the area of the token ,2. Correct the statement. The error could be a missing comma or quotation mark, it could be a misspelled word, or it could be related to the order of clauses. -- If the error token is <END-OF-STATEMENT>, correct the SQL statement because it does not end with a valid clause.".
Msg 7321, Level 16, State 2, Line 1
An error occurred while preparing the query " 
select substring(abalph,2,4) from proddta.f0101
" for execution against OLE DB provider "IBMDA400" for linked server "ps_dwh".

If I add spaces among the substring function's parameters, the query works:

select * from openquery(ps_dwh,'select substring(abalph, 2, 4) from proddta.f0101')

Does anybody know why?

Remembering that it works on the other two SQL Servers, it doesn't matter whether the spaces exist or not. Do I need to set something?


1 Solution
I'm just guessing here, does the problem SQL server have the same collation with the other two?
Carlos_FelipeAuthor Commented:
Yes, they all have the sam collation.

I figured that out!

The linked server must be set to "Be made using this security context" with a specific remote login and password.

Thanks for your attention!

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now