Oracle ODBC vs Oracle OLEDB

What is the different between ? If I want to connect to Oracle Database from my VB program, I just use ODBC or OLED provider ? Which one is better

Most likely, you won't notice a significant difference.
OLE DB is a successor protocol to ODBC, so there are some low-level benefits to OLE DB. ODBC, on the other hand, has been around longer, so more data sources support it.
If you're writing a VB application, though, you'll generally be using a higher-level API like ADO which hides the vast majority of these differences from the programmer.
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC

Similar Messages

  • Oracle OLEDB PRovider with ASP

    hi,
    Can anyone provide me a piece of code which demonstrates how to call an Oracle sp from asp using the Oracle OLEDB provider.
    I would also appreciate if the Oracle package code could be provided too, since with the Provider we have to have a different code for the stored procedure (Ref cursor..??)
    I have been successfully connecting using the Microsoft ODBC Driver, but looks like it has some big time bugs in it which causes our server to hang and a dllhost.exe to consume large amounts of database memory.
    Anybody can help me with that?
    Many Thanks,
    Harshad.

    Harshad,
    Oracle OLEDB samples are available at
    http://otn.oracle.com/sample_code/tech/windows/ole_db/content.html
    URL.
    "Returning multiple recordsets from a stored procedure" sample demonstrates
    how REF cursors are returned from a Stored Procedure (contained in a DB package).
    This sample is a stand alone application and not an ASP program, but the same code
    can be helpful for ASP too.
    Regards
    Jagriti

  • Oracle OLEDB drive 8i and 9i truncates LONG fields

    Anyone,
    I have a situation where my Oracle oledb driver truncates LONG fields.
    My application that runs queries using the oracle oledb driver.
    The query is a join between two tables and includes a LONG as one of the fields retrieved.
    When the Cursor Location is set to server the data returned is truncated.
    Setting the Cursor Location to Client I can retrieve the complete data under specific cursor and lock types. The Microsoft driver for oracle does not truncate.
    Note that a simple query without the join does not cause the problem.
    Has anyone else noticed this? I know its quite specific.
    Otherwise where do you submit bugs to oracle?
    Thanks
    Stuart

    Hi,
    I've got the same problem, i.e. SELECT a LONG RAW column from
    joined/unioned tables truncates the column (via OraOleDB).
    Unfortunately, setting ChunkSize to 65535 does not help me,
    because data in a column are longer, then 64K (and are truncated
    to 64K). Please, have you found any solution?
    Thanks for any reply ..
    Milan

  • Differences between Oracle OLEDB Provider & Microsoft version

    I am trying to connect to an Oracle database from a SQL Server SSIS package. When I use the Microsoft OLEDB Provider for Oracle (MSDAORA) the connection manager in the package sees a full list of the tables in the Oracle database but when I use Oracle's own OLEDB provider (Oracle.OLEDB.1) I see a much smaller list. I cannot see anything different about the tables that Oracle's Oracle provider fails to see. Has anyone come across this phenomenon before ? Are there some table name characters or data types that the Oracle provider objects to ?

    Not very likely.
    One possible explanation is they query different levels of the datadictionary.
    Sometimes the ALL_ level is queried, sometimes the DBA_ level, sometimes the USER_ level.
    At least you need to ascertain whether you are using the same Oracle account in both drivers. This can also make a difference.
    Anyhow: usually the Oracle driver implements way more functionality compared to the Microsoft driver, so the Oracle driver is to be preferred anyway.
    And probably the Oracle drivers results are correct (one really should use the ALL_ level instead of the DBA_ level).
    Sybrand Bakker
    Senior Oracle DBA

  • Oracle.Oledb provider returning improper out-put

    Dear All,
    Need your help in below issue.
    I have SSIS package which pull data from Oracle to SQL Server.
    Currently I have used Oracle.Oledb provider for the same, but it is giving me improper result.
    I check on oracle end count for that table was 26000 and when I run the same query through SSIS it shows 0 rows.
    The preview of the query is showing 0 as output.
    but when I tried the same using Microsoft OLEDB provider for Oracle it giving me proper out-put

    Hi Sushant,
    UseSessionFormat - specifies whether to use the default NLS session formats or let OraOLEDB override some of these formats for the duration of the session. Valid values are 0 (FALSE) and 1 (TRUE). The default is FALSE which lets OraOLEDB override some of
    the default NLS session formats. If the value is TRUE, OraOLEDB uses the default NLS session formats.
    Setting UseSessionFormat=true in the connection string will result in the provider using the session format specified by the client install, which should resolve this issue. The following connection string for the connection like below:
    Data Source=DataSourceNameHere;User ID=UserIDHere;Password=PasswordHere;Provider=OraOLEDB.Oracle.1;Persist Security Info=True;UseSessionFormat=True;
    Reference:
    http://blogs.msdn.com/b/dataaccesstechnologies/archive/2012/01/20/every-bug-is-a-microsoft-bug-until-proven-otherwise.aspx
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Oracle OLEDB Provider

    Good Afternoon:
    I am having trouble running sql thru VB with the
    Oracle OLEDB provider. The sql runs fine with the
    MSDAORA provider. My error is 'missing right parenthesis'.
    Here is the sql:
    SELECT b.DIVISION_ID KEY, b.PLAN_TYPE PLAN, 900000 FS_CODE,
    SUM (CASE WHEN NOT (d.PHARMACY_NETWORK_CODE IN ('9003','9004','9012') and b.CORPORATION_ID NOT IN ('U120','U180'))
    then a.NET_CHECK_DUE_AMT/c.COMPLETION_FACTOR else 0 end) IN_PAY,
    TRUNC (a.SERVICE_DATE,'YEAR') INCURRED_YEAR, SYSDATE
    From PHARMACY_FACT a, PLAN b, COMPLETION_FACTOR c, PHARMACY_CLAIM_GROUPING d
    Where a.PLAN_KEY = b.PLAN_KEY
    AND a.PHARMACY_CLAIM_GROUPING_KEY = d.PHARMACY_CLAIM_GROUPING_KEY
    AND c.FINANCIAL_SERVICE_SUBGROUP = 900000
    AND c.MONTH_INTERVAL = MONTHS_BETWEEN(TRUNC(TO_DATE('09/30/2003','MM/DD/YYYY'),'month'), TRUNC(a.SERVICE_DATE,'MONTH'))
    AND a.SERVICE_DATE BETWEEN TO_DATE('01/01/2000','MM/DD/YYYY') AND TO_DATE('07/31/2003','MM/DD/YYYY')
    AND a.PAYMENT_DATE BETWEEN TO_DATE('01/01/2000','MM/DD/YYYY') AND TO_DATE('09/20/2003','MM/DD/YYYY')
    AND b.PLAN_NBR NOT IN('R1','V1','V2') AND b.CORPORATION_ID IN('F275', 'P475')
    GROUP BY b.DIVISION_ID, b.PLAN_TYPE, TRUNC(SERVICE_DATE,'YEAR')
    When I comment out the case statement, sql runs.
    I tried putting parens around other parts of the
    statement but to no avail.
    Any help would be greatly appreciated.
    Thanks,
    Mike

    Sounds like the bug 2597418 that was fixed and released in 9.2.0.2 of Oracle OLEDB Provider

  • Oracle OleDB Provider VS MS OleDB Provider

    I am using Stored Procedures in Oracle Packages and Microsoft ADO for data access.
    My Stored Procedure use a Ref Cursor output parameter to make data available to ADO's recordsets.
    A big difference in network traffic is found between "Microsoft OLEDB Provider for Oracle" and "Oracle OLEDB Provider" (the native driver provided by Oracle).
    The main issue :
    <<Oracle OLEDB Provider>>
    1) A stored procedure is put into an empty package for testing and returning no row, the result is 4KB downstream traffic.
    2) When the SAME stored procedure is put into a large package (a package that already contained 30 other stored procedures, > 1000 lines codes), the result is 70KB downstream traffic for same call that return no row.
    <<Microsoft OLEDB Provider>>
    1) and 2) both use approximately 4KB downstream traffic.
    However, for a query that return large number of rows (~2000 rows), Oracle OLEDB Provider used 143KB but MS OLEDB Provider used 400KB downstream.
    The behaviours for upstream are similar.
    My application is required utilize limited bandwidth, the the strange behaviour of the Oracle OLEDB Provider make my development of "Packaged" Stored Procedures a big problem.
    Does anyone know if there are any tricky on the Oracle OLEDB Provider? Please advice, thanks in advance.
    Regards,
    Jeff

    Sounds like the bug 2597418 that was fixed and released in 9.2.0.2 of Oracle OLEDB Provider

  • Oracle connect failed on x64 and IA64 platform via Oracle OLEDB provider

    Hi everyone,
    I installed SQL Sever on x64 and IA64 machine, and Create a database via Oracle datasource. I can connect the datasource via OLEDB and .Net provider successfully on x86 machine. But failed to connect the Oracle datasource on x64 and IA64.
    Following is the error messgae:
    1) Install 64 bit build on x64 machine:
    Error message: Test connection failed because of an error in initializing provider. ORA-06413: Connection not open.
    2) Install 32 bit build on x64 machine:
    Error message: Test connection failed because of an error in initializing provider. Oracle client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3.3 or later client software installation.
    I know there is a know bug on c:\Program Files (x86)\... with Oracle provider. And some one has given a workarround method that I should move my my application out of the the folder path which includes parentheses. But it really is mess method for SQL Server (That is my application)......
    Is there any other workarround method? Or when will Oracle fix this bug?
    Thanks^_^
    Lindsay

    Is 10204 available for x64 and IA64. It is said that there is only 10204 for x86 machine, right?
    I downloaded 10203 for IA64 machine and tested connection on SQL Server with Oracle datasource via Oracle OLEDB provider, and got the following error (The data source is Oracle92 installed on another machine):
    Test connection failed because of an error in initializing provider. Oracle client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3.3 or later client software installation.
    Could you please tell me what's wrong with it?
    Thanks
    Lindsay
    Message was edited by:
    lindsaywang

  • Sub queries with the Oracle OLEDB driver

    We have been testing the Oracle OLEDB driver through VB/ADO on Win2k and have found some VERY disturbing issues. First, some background - version 8.1.7.2, using client side-disconnected recordsets.
    A simple query with one or more subqueries is returning no rows when running the same query in SQLPlus returns the desired results. EX: Select a.*, (select Typename from user_types where user_types.type_id =a.type_id) user_type_name from users_group a where user_id = 5
    remove the sub-select and the ORACLE OLEDB driver returns a single row. Leave it in and you get recordcount = 0 and rs.eof is true.
    Can anyone explain this?
    Thanks

    Duplicate post:
    In Trouble with the Oracle JDBC Driver version - 10.1.0.5.0
    Claus,
    Pardon me if I am stating the obvious, but why don't you use the 10.2 JDBC driver with your 10.2 database? The driver is part of the database distribution. Otherwise, you can download the driver from the OTN Web site.
    Good Luck,
    Avi.

  • Udl test not possible to test Oracle OLEDB provider

    Hi,
    I have some issue to connect to my Oracle database.
    My environment is Windows Server 2008 R2, with Oracle server 11G.
    To test my Oracle OLEDB provider, I setup a udl test as described follow:
    1- Creation a file text document on server desktop : test.txt
    2- File extension change to .udl : test.udl
    3- launch of test.udl
    When I launched the test.udl, The Data Link Properties dialog box is not opened. A windows explorer is opened.
    Anybody knows why I am not able to launch the data link properties dialog box in my environment ?
    Thank you for your help
    Regards,
    Sandrine

    Error found... issue resolved.
    Basically got the sld connections tested. This error resulted because the default abap client in CTC was wrongly set.
    Regards.
    Mohamamd

  • Parameterized queries not implemented in Oracle OLEDB ?

    Hi Xperts !
    I'm implementing an ADO application with Oracle Provider for OLEDB and get an error when accessing Parameters:Count properties of an ADO command object.
    Is this not implemented in Oracle OLEDB ?
    Is there a workaround to get and set parameters for a query ?
    Thanks in advance.
    Phil

    It can in principle be achieved in SQL (depending on what result set you require) with CONNECT BY and SYS_CONNECT_BY_PATH in 9i and later and with POWERMULTISET in 10g. No doubt this could be done in 8i if absolutely necessary.
    Possibly DBMS_FREQUENT_ITEMSETS in 10g supports this kind of analysis.

  • Oracle OLEDB Installation thru Installshield

    I need to call Oracle OLEDB Provider "setup.exe" once I complete installing our product (using Installshield). I tried all different ways to do this and I have absolutely no luck.
    1. I tried calling LaunchaAppAndWait(SRCDIR^"disk1\\install\\win32\\setup.exe", "", WAIT) in OnFirstUIAfter event before SdFinishEx function and Installshield doesn't wait for Oracle Installer to finish its installation.
    2. I tried to get window handle for each window created during Oracle Installation and waiting, this somewhat makes Installshield to wait but hangs once Oracle completes its installation and sequence of windows displayed can change during Oracle Installation if user clicks on back button which will make Installshield to hang.
    Enable(STATUS);
    SetStatusWindow(count, "Please wait... launching Oracle Universal Installer");
    WindowName = "Welcome";
    FindOracleWindow();
    WindowName = "File Locations";
    FindOracleWindow();
    WindowName = "Available Product Components";
    FindOracleWindow();
    WindowName = "Summary";
    FindOracleWindow();
    WindowName = "Install";
    FindOracleWindow();
    WindowName = "End of Installation ";
    FindOracleWindow();
    hWnd=NULL;
    Disable(HOURGLASS);
    Disable(STATUS);
    3. I followed knowledge base article w

    Do you want to create a response file for the Oracle Universal Installer? That would allow you to do a silent install of the OLE DB provider.
    If you go to http://tahiti.oracle.com and search for "response file", you'll get plenty of hits in the OUI documentation.
    Justin

  • Multiple Recordsets and the Oracle OleDB Provider

    We are trying to return multiple recordsets from an Oracle SP through the Oracle oledb provider using VB. First of all, is this possible and is there any example code out there. Having trouble finding some info on this.
    Thanks

    After reading install guide I figured out waht might be the problem.
    I put OLEDB install into the same home (ora81).
    It was suppose to go into different home directory (ora92).
    Also, OLEDB is one of few components which can't exist in more then one
    home dir on single machine. Installer knows that, and skips install of
    OLEDB provider itself. So in my case I had to first uninstall OLEDB provider 8.1.7
    and then install OLEDB provider 9.2
    Thanks,
    ...dejan

  • OCI vs OO4O vs Oracle OLEDB vs MS Oracle OLEDB

    I'm developing an application that needs to get database schema information (Tables, Columns, Stored Procedures, Views, etc.) as well as execute SQL statements against an Oracle database. From a developer's perspective, is their an advantage of using one of the above listed technologies over the other?
    Here's a brief outline of my experience with each thus far:
    I've briefly worked with OO4O and it doesn't seem to allow me to browse the schema objects unless I know the name of the schema.
    The MSOLEDB provider for Oracle is very, very slow...
    The Oracle OLEDB provider seems to work OK.
    I've not used the OCCI method.
    Any comments would be appreciated.

    I'm developing an application that needs to get database schema information (Tables, Columns, Stored Procedures, Views, etc.) as well as execute SQL statements against an Oracle database. From a developer's perspective, is their an advantage of using one of the above listed technologies over the other? OCI is the lowest programmatic layer, and the most complicated.
    All other layers are built using OCI.
    The choice depends on user's requirement - ease of use, speed, functionality etc etc.
    Here's a brief outline of my experience with each thus far:
    I've briefly worked with OO4O and it doesn't seem to allow me to browse the schema objects unless I know the name of the schema.
    The MSOLEDB provider for Oracle is very, very slow...
    The Oracle OLEDB provider seems to work OK.
    I've not used the OCCI method.
    Any comments would be appreciated.

  • Append hint + ADO + Oracle OleDB Provider

    Hi everybody!
    This is my first post here in this great forum! ;-)
    I have a problem using Append hint with Oracle OleDB Provider and I've been searching internet for an answer without any luck.
    I'm trying to use Append hint with ADO + Oracle OleDB Provider (OraOLEDB.Oracle.1), like in the SQL below:
    INSERT /*+APPEND*/
    INTO my_table(field1, field2, field3)
    SELECT 0 field1, v.field2, v.field3)
    FROM my_second_table v
    The problem: Oracle is still creting log for this INSERT (It is working like there was no Append hint).
    If I use the same SQL statement with Microsoft Ole DB Provider for Oracle, the Append hint works as expected (log is not created), but doesn't work at all with Oracle DB Provider.
    Trace shows me that the SQL sentence is ok (the append hint is there!).
    I've tried Oracle servers 9.2 and/or 10g, and the problem is the same.
    Question: Does Append hint work with Oracle OleDB Provider? If yes, why it is not working? Something related with connection properties?
    Any help will be much appreciated!
    Thanks in advance.
    Alexandre Machado

    user8010279 wrote:
    Hi Solomon, thanks for you answer.
    Is the same SQL against the same database, with the same program, using ADO + OleDB Provider.
    The table is in NOLOGGING mode.
    When I use Microsoft OleDB Provider for Oracle there is no log creation. Then I disconnect and reconnect to the same server/database, using Oracle OleDB Provider. Then I execute the same SQL and.... there IS log creation, meaning that in that scenario, append hint is being ignored. I can't figure out WHY!!! :-(
    Alexandre,
    I'm not sure what you mean by "there is log creation". In general you need to distinguish between UNDO and REDO generation. A direct-path insert (APPEND hint) doesn't generate undo but still can generate redo, depending on the ARCHIVELOG / FORCE LOGGING mode of the tablespace resp. database and the LOGGING/NOLOGGING attribute of the table.
    Note that in case indexes exist on the table there will always be undo and therefore redo generation for the index maintenance as part of the direct-path insert.
    You should check V$SESSION (SQL_ID in 10g, SQL_ADDRESS + SQL_HASH_VALUE in pre-10g) and V$SQL in the database to double check if the SQL passed by the Oracle OLEDB Provider actually contains the APPEND hint in case the INSERT actually generates UNDO (which is the indicator that shows you if the direct-path insert is used or not). Whether it generates REDO is - as already mentioned - depending on other factors.
    So the question is how have you determined if the direct-path insert mode has been used or not?
    The simplest approach to test if direct-path insert mode is used or not is to issue a query on the object inserted into after the insert before committing the transaction. If it fails with "ORA-12838: cannot read/modify an object after modifying it in parallel" then you successfully inserted using direct-path insert.
    Note that there a number of restrictions that prevent the direct-path insert from happening, in those cases the APPEND hint will be silently ignored, e.g. enabled triggers, foreign keys on the table. A quite comprehensive list of restrictions is listed in the manuals here:
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28313/usingpe.htm#CACEJACE
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • No luck installing Oracle OLEDB 9.2 on WinXP

    I've bee heer with the same subject. Got an advice to uninstall Oracle OLEDB first and repeat installation. I've tried several times using full Oracle Client Installer as well as OLEDB version of Installer. Each time my list of OLEDB providers does not include Oracle OLEDB provider. I even updated my MDAC to 2.7 SP1 Refresh but results are the same.
    Does anyone have a clue what should I do ?
    Thank you.

    Don,
    If your %windir%\system32\regsvr32.exe works fine and your file system is NTFS, you may want to try the following. (Curtesy of Helena Bennett Kirksey in this forum. The instructions should be originally from Oracle.)
    1. Log on to Windows as a user with Administration privileges.
    2. Launch Windows Explorer from the Start Menu and navigate to the ORACLE_HOME folder. This is typically the "Ora92" folder under the "Oracle" folder (i.e. D:\Oracle\Ora92).
    3. Right-click on the ORACLE_HOME folder and choose the "Properties" option from the drop down list. A "Properties" window should appear.
    4. Click on the "Security" tab of the "Properties" window.
    5. Click on the "Authenticated Users" item in the "Name" or "Group or user names" list.
    6. Uncheck the "Read and Execute" box in the "Permissions" or "Permissions for Authenticated Users" list under the "Allow" column.
    7. Re-check the "Read and Execute" box under the "Allow" column (this is the box you just unchecked).
    8. Click the "Advanced" button and in the "Permission Entries" list make sure you see the "Authenticated Users" listed there with:
    Permission = Read & Execute
    Apply To = This folder, subfolders and files
    Sinclair

Maybe you are looking for

  • Photo problems between iphoto and Canon Digital Photo Professional

    Hey people, So I've copied all my photos from my SD card and iphoto asked if I wanted to import them so I said yes. I've put them in folders, albums etc and have since installed my Canon software for its editing programme but cannot seem to open my p

  • Plant wise Cost center list

    Hi, How can we know the Cost Center list with Plant wise.. Reason is that we just completed rollout project and create a new plant. for example, now our plant is AAAA & new one is BBBB. and we create the cost centers for that plant also i.e. BBBB. So

  • [svn] 1655: ignore: More auto-prop action

    Revision: 1655 Author: [email protected] Date: 2008-05-09 17:18:03 -0700 (Fri, 09 May 2008) Log Message: ignore: More auto-prop action Reviewer: Gordon Modified Paths: flex/sdk/trunk/modules/thirdparty/batik/test-resources/org/apache/batik/bridge/iWas

  • ITunes smart playlists MISSING!!

    This is so annoying!! My recetly added playlist (and also all other smart playlists) disappeared on both my iPad 2 and iPhone 4S all of a sudden when I synchronized them. I have tried unchecking the live update button of the playlist and then synchro

  • Can't open avi-files

    Hi out there. I have a big problem: My new MacBook Pro with Tiger has goten sick. QuickTime refuses to open avi-files. – I can't open them in either web, the player or other programs (fx Final Cut Pro) – I have installed a xvid codec some weeks ago (