SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Oracle / SQL Server Integration
Alexandru Tică
alexandru.tica@gmail.com
DBA Lounge: 2013-06-06
Meet the Lovers
http://juliekoesmarno.deviantart.com/
www.mssqlgirl.com
My name is Julie Koesmarno. I am a
Microsoft Certified Solution Expert in Data
Platform and a Microsoft Certified Solution
Expert in Business Intelligence for SQL
Server 2012.
http://blog.tanelpoder.com/about-2/
I started my professional career as a part-
time C developer at age 16 (was not too
good at it though because lack of software
engineering experience back then). I got
introduced to Unix though, which gave me
good foundation for understanding Oracle
and enterprise-class applications when I
started working for a consulting company at
age 19.
Would you
marry me?
CONNECT BY PRIOR ?...
What? Pervert!
Let's be polite and talk in TSQL.
PL what? Pervert!
Send me a picture of you!
select blob_img
from profile;
BLOB type?
You're stupid man!
WHAT?
Do you mean PLSQL?
Let's Know Each Other Better
What to Do?
Tanel is sad!
He likes Julie a lot!
What can he do?
He asks his collegues for help!
Good & Bad News
● Oracle provides good integration with MSQL Server
● You speak Oracle and the transformation
is transparently done on the fly
● The conectivity agent may reside on any host,
regardless of the OS
● You may take advantage of the Oracle optimizer
even in connection with MSQL tables (kind of)
● The integration is working in PLSQL as well
● Support for resultsets
Good news!
Bad news!
● Separate license (just ODBC is free)
Great! I will evaluate this
technology!
Heterogenous Services Setup
MSQL
Server
Oracle
Host1 with
suported
OS
Host2 with
suported
OS
Host3 with
Windows
OS
Setup goes
here
p10404530_112030_Linux-
x86-64_5of7.zip
Playground
bee.fits.ro
● Oracle Database
● MSql Gateway
● Tanel is here
Employee
Table
roiassw2k3dtfs.fits.ro
● SQL Server 2005
● A DUMMY database
● Julie is here
Departments
Table
Oracle DB Link
@msql
Describe Yourself, Baby
says
gateway
what Tanel
understands
w
hat
?w
hat
?
WE8MSWIN1252
Single-byte to
Single-byte.
Why?
Wanna Know Everything About You!
Gateway
automatic dictionary
conversionDon't expect much
from the Oracle
optimizer.
Dictionary transparency
(not fully implemented)
Dialect Translation
Tanel first try
WTF?
Documented limitation: if the remote table has LONG RAW columns then
all tables from the query should reside on the remote site.
Oracle
Syntax
Case
sensitive!
Resultset Support
says
Gateway
HS_FDS_RESULTSET_SUPPORT=TRUE
is reading
stupid!
HS_FDS_DEFAULT_SCHEMA_NAME=dbo
rc1 := “dbo”.”GetEmployees”@msql(2)
doesn't work!
If there's no Other Way...
DON'T!
COMMIT
here using
Oracle 2PC
Fake package! Don't
try to grant privs for
it. It can be used just
through the dblink.
Always
through
db link
Is Oracle Optimizer Smart Enough?
count: ~10000 records
Stupid query: Find all employees which have their ID matching a
department ID.
select e."first_name" from departments d, all_emp_ever@msql e
where d.id = e."id";
Other Limitations
Bleah!
WTF? Yes, in
SQL Server is
possible!
Don't mess with
NULLs.
Guess!
What?
No support for
SAVEPOINTs.
The Geek Way: JAVA
loadjava -resolve -user msint/<pwd> -v -f sqljdbc.jar
dbms_java.grant_permission
Other Forms of Integrations
Accessing Oracle from
SQL Server
Replicating Oracle data
to SQL Server
The Moment of Truth
PROS CONS
SQL / PLSQL Transparency for
simple tasks
The Oracle optimizer is not so
smart if remote SQL Server
tables are involved (MVs for
small tables?)
Support for TSQL resultset
procedures
Money, money, money....
Cross platform agent Weird data type conversions
Quite many limitations
Julie is NOT
disappointed!
She didn't like
Tanel anyway!
Epilog
Sursa: http://www.horoscopdragoste.ro/potrivire-nume
Tanel took the right
decision!
Thanks guys!

Weitere ähnliche Inhalte

Ähnlich wie Oracle - SQL Server Integration

What should or not be programmed on the web
What should or not be programmed on the  webWhat should or not be programmed on the  web
What should or not be programmed on the webMohammad Kamrul Hasan
 
PNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing DifficultPNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing DifficultDave Stokes
 
Sql injection ( http://etabz.blogspot.com/2014/11/sql-injection.html )
Sql injection ( http://etabz.blogspot.com/2014/11/sql-injection.html )Sql injection ( http://etabz.blogspot.com/2014/11/sql-injection.html )
Sql injection ( http://etabz.blogspot.com/2014/11/sql-injection.html )Ehtisham Ullah
 
Domain oriented development
Domain oriented developmentDomain oriented development
Domain oriented developmentrajmundr
 
Should I stay or should I go?
Should I stay or should I go?Should I stay or should I go?
Should I stay or should I go?Markus Flechtner
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDavide Mauri
 
White Paper for OMG! Identifying and Refactoring Common SQL...
White Paper for OMG! Identifying and Refactoring Common SQL...White Paper for OMG! Identifying and Refactoring Common SQL...
White Paper for OMG! Identifying and Refactoring Common SQL...Jeff Jacobs
 
PL/SQL Complete Tutorial. All Topics Covered
PL/SQL Complete Tutorial. All Topics CoveredPL/SQL Complete Tutorial. All Topics Covered
PL/SQL Complete Tutorial. All Topics CoveredDanish Mehraj
 
PostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real DifferencesPostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real DifferencesAll Things Open
 
Heterogeneous Data - Published
Heterogeneous Data - PublishedHeterogeneous Data - Published
Heterogeneous Data - PublishedPaul Steffensen
 
How to get into Full Stack Web Development.pdf
How to get into Full Stack Web Development.pdfHow to get into Full Stack Web Development.pdf
How to get into Full Stack Web Development.pdfShivamShrey1
 
Keeping the fun in functional w/ Apache Spark @ Scala Days NYC
Keeping the fun in functional   w/ Apache Spark @ Scala Days NYCKeeping the fun in functional   w/ Apache Spark @ Scala Days NYC
Keeping the fun in functional w/ Apache Spark @ Scala Days NYCHolden Karau
 
Lessons PostgreSQL learned from commercial databases, and didn’t
Lessons PostgreSQL learned from commercial databases, and didn’tLessons PostgreSQL learned from commercial databases, and didn’t
Lessons PostgreSQL learned from commercial databases, and didn’tPGConf APAC
 
When to no sql and when to know sql javaone
When to no sql and when to know sql   javaoneWhen to no sql and when to know sql   javaone
When to no sql and when to know sql javaoneSimon Elliston Ball
 
Weird Plsql
Weird PlsqlWeird Plsql
Weird Plsqlwebanddb
 

Ähnlich wie Oracle - SQL Server Integration (20)

oracle-11g-xe-tutorial.pdf
oracle-11g-xe-tutorial.pdforacle-11g-xe-tutorial.pdf
oracle-11g-xe-tutorial.pdf
 
What should or not be programmed on the web
What should or not be programmed on the  webWhat should or not be programmed on the  web
What should or not be programmed on the web
 
chetan_resume
chetan_resumechetan_resume
chetan_resume
 
PNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing DifficultPNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing Difficult
 
Sql injection ( http://etabz.blogspot.com/2014/11/sql-injection.html )
Sql injection ( http://etabz.blogspot.com/2014/11/sql-injection.html )Sql injection ( http://etabz.blogspot.com/2014/11/sql-injection.html )
Sql injection ( http://etabz.blogspot.com/2014/11/sql-injection.html )
 
Domain oriented development
Domain oriented developmentDomain oriented development
Domain oriented development
 
Should I stay or should I go?
Should I stay or should I go?Should I stay or should I go?
Should I stay or should I go?
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your life
 
White Paper for OMG! Identifying and Refactoring Common SQL...
White Paper for OMG! Identifying and Refactoring Common SQL...White Paper for OMG! Identifying and Refactoring Common SQL...
White Paper for OMG! Identifying and Refactoring Common SQL...
 
PL/SQL Complete Tutorial. All Topics Covered
PL/SQL Complete Tutorial. All Topics CoveredPL/SQL Complete Tutorial. All Topics Covered
PL/SQL Complete Tutorial. All Topics Covered
 
PostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real DifferencesPostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real Differences
 
Heterogeneous Data - Published
Heterogeneous Data - PublishedHeterogeneous Data - Published
Heterogeneous Data - Published
 
Why Should I learn SQL?
Why Should I learn SQL?Why Should I learn SQL?
Why Should I learn SQL?
 
How to get into Full Stack Web Development.pdf
How to get into Full Stack Web Development.pdfHow to get into Full Stack Web Development.pdf
How to get into Full Stack Web Development.pdf
 
Keeping the fun in functional w/ Apache Spark @ Scala Days NYC
Keeping the fun in functional   w/ Apache Spark @ Scala Days NYCKeeping the fun in functional   w/ Apache Spark @ Scala Days NYC
Keeping the fun in functional w/ Apache Spark @ Scala Days NYC
 
Lessons PostgreSQL learned from commercial databases, and didn’t
Lessons PostgreSQL learned from commercial databases, and didn’tLessons PostgreSQL learned from commercial databases, and didn’t
Lessons PostgreSQL learned from commercial databases, and didn’t
 
When to no sql and when to know sql javaone
When to no sql and when to know sql   javaoneWhen to no sql and when to know sql   javaone
When to no sql and when to know sql javaone
 
Why not ORM
Why not ORMWhy not ORM
Why not ORM
 
Weird Plsql
Weird PlsqlWeird Plsql
Weird Plsql
 
SQL v No SQL
SQL v No SQLSQL v No SQL
SQL v No SQL
 

Kürzlich hochgeladen

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Kürzlich hochgeladen (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

Oracle - SQL Server Integration

  • 1. Oracle / SQL Server Integration Alexandru Tică alexandru.tica@gmail.com DBA Lounge: 2013-06-06
  • 2. Meet the Lovers http://juliekoesmarno.deviantart.com/ www.mssqlgirl.com My name is Julie Koesmarno. I am a Microsoft Certified Solution Expert in Data Platform and a Microsoft Certified Solution Expert in Business Intelligence for SQL Server 2012. http://blog.tanelpoder.com/about-2/ I started my professional career as a part- time C developer at age 16 (was not too good at it though because lack of software engineering experience back then). I got introduced to Unix though, which gave me good foundation for understanding Oracle and enterprise-class applications when I started working for a consulting company at age 19. Would you marry me?
  • 3. CONNECT BY PRIOR ?... What? Pervert! Let's be polite and talk in TSQL. PL what? Pervert! Send me a picture of you! select blob_img from profile; BLOB type? You're stupid man! WHAT? Do you mean PLSQL? Let's Know Each Other Better
  • 4. What to Do? Tanel is sad! He likes Julie a lot! What can he do? He asks his collegues for help!
  • 5. Good & Bad News ● Oracle provides good integration with MSQL Server ● You speak Oracle and the transformation is transparently done on the fly ● The conectivity agent may reside on any host, regardless of the OS ● You may take advantage of the Oracle optimizer even in connection with MSQL tables (kind of) ● The integration is working in PLSQL as well ● Support for resultsets Good news! Bad news! ● Separate license (just ODBC is free) Great! I will evaluate this technology!
  • 6. Heterogenous Services Setup MSQL Server Oracle Host1 with suported OS Host2 with suported OS Host3 with Windows OS Setup goes here p10404530_112030_Linux- x86-64_5of7.zip
  • 7. Playground bee.fits.ro ● Oracle Database ● MSql Gateway ● Tanel is here Employee Table roiassw2k3dtfs.fits.ro ● SQL Server 2005 ● A DUMMY database ● Julie is here Departments Table Oracle DB Link @msql
  • 8. Describe Yourself, Baby says gateway what Tanel understands w hat ?w hat ? WE8MSWIN1252 Single-byte to Single-byte. Why?
  • 9. Wanna Know Everything About You! Gateway automatic dictionary conversionDon't expect much from the Oracle optimizer. Dictionary transparency (not fully implemented)
  • 10. Dialect Translation Tanel first try WTF? Documented limitation: if the remote table has LONG RAW columns then all tables from the query should reside on the remote site. Oracle Syntax Case sensitive!
  • 12. If there's no Other Way... DON'T! COMMIT here using Oracle 2PC Fake package! Don't try to grant privs for it. It can be used just through the dblink. Always through db link
  • 13. Is Oracle Optimizer Smart Enough? count: ~10000 records Stupid query: Find all employees which have their ID matching a department ID. select e."first_name" from departments d, all_emp_ever@msql e where d.id = e."id";
  • 14. Other Limitations Bleah! WTF? Yes, in SQL Server is possible! Don't mess with NULLs. Guess! What? No support for SAVEPOINTs.
  • 15. The Geek Way: JAVA loadjava -resolve -user msint/<pwd> -v -f sqljdbc.jar dbms_java.grant_permission
  • 16. Other Forms of Integrations Accessing Oracle from SQL Server Replicating Oracle data to SQL Server
  • 17. The Moment of Truth PROS CONS SQL / PLSQL Transparency for simple tasks The Oracle optimizer is not so smart if remote SQL Server tables are involved (MVs for small tables?) Support for TSQL resultset procedures Money, money, money.... Cross platform agent Weird data type conversions Quite many limitations Julie is NOT disappointed! She didn't like Tanel anyway!