Search code examples
sqlsql-serverdatabaseoledbsybase

What does it mean by using "Native" SQL connection to Database?


I recently started working on a team project.

I'm a newbie in database, and I'm not directly in charge of this project, but I just want to learn what all this is about..

Basically, my company is storing all its data in Sybase ASE (Adaptive Server Enterprise) database..

It seems like the company is currently using a technology called DBLIB to connect to the database, and apparently DBLIB is really outdated and slow, so the company wants to move away from all the DBLIB stuff.

On the team project description, it says:

Retire all DBLIB connections and implement the native Sybase SQL connection...

What I don't quite understand is what "native" Sybase SQL connection means..

I think I heard one of the team members mention using OLEDB..

Is OLEDB a "native" sql connection technology?? What does this term "native" exactly mean, and why is this important??

Thanks


Solution

  • Database software is typically a server that runs on a machine somewhere. Other applications must communicate to this server by connecting to it and information gets passed back and forth. These other applications might be query interfaces, Excel, programming languages, or lots of other things.

    What gets passed back and forth? Once upon a time, every database had its own interface specifications. In some ways, this is silly, because all use a (seemingly) standardized language, SQL, for passing instructions to the database. (It is besides the point that database vendors adhere to the SQL standard primarily by breaching it ;).

    So, the ODBC -- open database connectivity -- standard was born. And, all databases supported ODBC. Then other methods were invented too, such as OLEDB and so on. At the same time, databases also maintained their original "native" interface. The advantage of the native interface is that it removes a level or two of "parsing" when shifting things back and forth. If you are sticking with a single database, it is a reasonable thing to do. Occasionally there are things the native interface does that aren't available using another method.

    This is a rather simplified (and hopefully not too inaccurate) history. But it should give some context for what the term "native interface" refers to.