Microsoft OLEDB Provider for DB2 problem
Hi I have an SSIS package that uses the Microsoft OLEDB Provider for DB2. The connection to the DB2 machine works 100%, but when I try run a query I get the follwing error An internal network library error has occurred. A network level syntax error has occurred. SQLSTATE: HY000, SQLCODE: -379 The query parses fine but can't seem to run Thanks in advance!
October 25th, 2010 4:57pm
I did use DB2 with SSIS but I was using IBM DB2 provider instead of MS one and that was working fine for me. You can give that a try.
October 25th, 2010 5:52pm
But does the query run on the DB2 side? Could it be a permissions error? You may want to check with the DB2 admin to look in the logs. I'm not sure the parser goes out to DB2 to check the SQL.Phil Brammer | http://www.ssistalk.com | Twitter: http://twitter.com/PhilBrammer
October 25th, 2010 6:34pm
Is this provider freely available?
October 26th, 2010 3:28am
Yes the query is fine on the DB2 side. Its not a permission problem. When i do a straight select query with no where clause it is fine. But when I add a where clause it gives the problem. But when I run the select with the complete where clause on the db2 side i get the problem
October 26th, 2010 3:30am
When I run the query in SSIS using the ODBC provider it works
October 26th, 2010 4:39am
Hi XcX, The SQLSTATE value of HY000 is defined as a provider-specific error. And based on my search, there is a limitation to using Microsoft OLE DB Provider for DB2 Data Provider, that the Data Provider does not allow us to pass in parameters. So the error should be expected. Devin provides a workaround that using REPLACE function to replace a place holder in the query statement to fix this issue. The details about the workaround can be found from: http://bidn.com/blogs/DevinKnight/ssis/74/ssis-data-provider-does-not-allow-parameters-in-ole-db-source If you have any more questions, please feel free to ask. Thanks, Jin ChenJin Chen - MSFT
October 27th, 2010 2:30am
Hi Jin Thanks for the reply. Would this apply to any 'where clause'. The reason I am asking, is because I am not using a parameterized query but rather a straight forward select query with a where clause. Now it only happens every now and then. Sometimes the query actually works but most times it does not. But what is really weird is that I have aboout 400 packages that use the provider and thus far only a handful are giving this problem Most times, when I remove the where clause from the queries in the packages that give the problem, it works. Thanks
October 27th, 2010 3:09am