''SELECT * FROM TABLE'' delivers different # of rows depending on oledb provider used!?

  • HI,

    I have been puzzled a lot by some strange behaviour i have met. I try to get data from a linked server (Oracle 9), but I get different results on the same query depending on how the linked server is connected to the external database. I have set up two different linked servers to the same Oracle database:

      1. Directly via the Microsoft OleDB provider for Oracle
      2. Via the Microsoft OleDB provider for ODBC. The ODBC link uses the OleDB provider I downloaded from Oracle

      Now if I do a 'select * from TableX' with an openquery i get different results depending on the OleDB provider that's used. The Microsoft data provider delivers 6800 rows (which is indeed all records), but some UTF-8 charcters are messed up. The Oracle delivers perfect UTF-8 charcaters, but the result includes only 6700 rows!!. How can this be???

      What's even more intersting is that when I add a where clause to the query that points to one of the missing rows I get a result!!!!

      Has anyone ever had this experience and could you solve it?

      Greetz,

      Ralph

    1. Do the 100 missing records have anything uniquely in common with each other?

    2. It can be because of the way the link accesses the DB, there can be an translation difference. Perhaps it's because of the uft 8 problem. Microsoft have some difficulties in translating uft 8 from oracle, i can't remember if you need a patch. My company had troubles with documents and e-mail in uft 8 when sending out to customers, and had to make a change in the format.

      Read the documentation by Microsoft about this.

    3. Collation compatible



      A.J.
      DBA with an attitude

    Viewing 4 posts - 1 through 3 (of 3 total)

    You must be logged in to reply to this topic. Login to reply