{"id":559,"date":"2011-01-11T15:56:00","date_gmt":"2011-01-11T13:56:00","guid":{"rendered":""},"modified":"2023-03-23T13:08:07","modified_gmt":"2023-03-23T12:08:07","slug":"oracle-odbc-dla-windows","status":"publish","type":"post","link":"https:\/\/touk.pl\/blog\/2011\/01\/11\/oracle-odbc-dla-windows\/","title":{"rendered":"Oracle ODBC dla Windows"},"content":{"rendered":"<p>Potrzebowa\u0142em dost\u0119pu do bazy Oracle przez ODBC. Niestety Oracle&#8217;owy driver odbc jest inny ni\u017c wszystkie :-), bo nie pozwala zdefiniowa\u0107 dost\u0119pu do bazy wprost, tylko nale\u017cy u\u017cy\u0107 sp\u00f3jnego mechanizmu narz\u0119dzi Oracle&#8217;owych, definiuj\u0105cego po\u0142\u0105czenie. Mowa o<\/p>\n<p><a href=\"http:\/\/download.oracle.com\/docs\/cd\/B19306_01\/network.102\/b14213\/glossary.htm#i432231\">TNS (Transparent Network Substrate)<\/a>, co ja bym nazwa\u0142 <em>definicj\u0105 po\u0142\u0105czenia<\/em> (zamiast Prze\u017aroczystego Substratu Sieciowego ;-)). TNS mo\u017ce pochodzi\u0107 z kilku \u017ar\u00f3de\u0142 &#8211; lokalnego (specjalnego pliku) i globalnego &#8211; np. LDAP. Dzi\u0119ki temu we wszystkich narz\u0119dziach bazodanowych Oracle, podajemy tylko nazw\u0119 po\u0142\u0105czenia zamiast ka\u017cdorazowo okre\u015bla\u0107 wszystkie parametry po\u0142\u0105czenia. Rozwi\u0105zanie zmy\u015blne, ale patrz\u0105c przez pryzmat problem\u00f3w z konfiguracj\u0105 &#8211; nieintuicyjne.\u00a0<\/p>\n<p>Aby po\u0142\u0105czy\u0107 si\u0119 przez Oracle ODBC, nale\u017cy pobra\u0107 sterowniki. Ja znalaz\u0142em ca\u0142y pakiet zwany <a href=\"http:\/\/www.oracle.com\/technetwork\/developer-tools\/visual-studio\/downloads\/index.html\">ODAC (Oracle Data Access Component)<\/a>. Po zainstalowaniu nale\u017cy zdefiniowa\u0107 TNS naszego po\u0142\u0105czenia. Do tego celu s\u0142u\u017cy plik <a href=\"http:\/\/www.orafaq.com\/wiki\/Tnsnames.ora\">tnsnames.ora<\/a>, kt\u00f3ry zawiera specjaln\u0105 sk\u0142adni\u0119. Poni\u017cej podstawowa konfiguracja:<\/p>\n<p><em>my_conn =<br \/>\n\u00a0(DESCRIPTION =<br \/>\n\u00a0\u00a0 (ADDRESS_LIST =<br \/>\n\u00a0\u00a0\u00a0\u00a0 (ADDRESS = (PROTOCOL = TCP)(HOST = moj.serwer.pl)(PORT = 1521))<br \/>\n\u00a0\u00a0 )<br \/>\n\u00a0(CONNECT_DATA =<br \/>\n\u00a0\u00a0 (SERVICE_NAME = sid_uslugi)<br \/>\n\u00a0)<br \/>\n)<\/em><\/p>\n<p>Ponadto nale\u017cy poinstruowa\u0107 narz\u0119dzia Oracle w jaki spos\u00f3b ma wyszukiwa\u0107 definicji po\u0142\u0105cze\u0144. Mowa tu o kolejno\u015bci przeszukiwania oraz z kt\u00f3rych \u017ar\u00f3de\u0142 skorzysta\u0107 (ww. lokalne i\/lub globalne). Ustawiamy to w pliku <a href=\"http:\/\/www.orafaq.com\/wiki\/Sqlnet.ora\">sqlnet.ora<\/a>. Tu potrzebujemy tylko:<\/p>\n<p>*NAMES.DIRECTORY_PATH= (TNSNAMES) *<\/p>\n<p>Oba pliki nale\u017cy umie\u015bci\u0107 w (ju\u017c istniej\u0105cym) katalogu<br \/>\n<em>%KATALOG_INSTALACJI_ODAC%\\product\\11.2.0\\client_1\\Network\\Admin<\/em><\/p>\n<p>Teraz mo\u017cna ju\u017c korzysta\u0107 z ODBC. Je\u015bli mieli\u015bcie otwarty program korzystaj\u0105cy z po\u0142\u0105czenia, to dla pewno\u015bci nale\u017cy go uruchomi\u0107 ponownie.<\/p>\n<div class=\"blogger-post-footer\">\n  <img width='1' height='1' src='https:\/\/blogger.googleusercontent.com\/tracker\/3430508731490960624-6190825874460533544?l=blog.bartekzdanowski.pl' alt='' \/>\n<\/div>\n","protected":false},"excerpt":{"rendered":"Potrzebowa\u0142em dost\u0119pu do bazy Oracle przez ODBC. Niestety Oracle&#8217;owy driver odbc jest inny ni\u017c wszystkie :-), bo nie&hellip;\n","protected":false},"author":22,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[687,13],"_links":{"self":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts\/559"}],"collection":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/comments?post=559"}],"version-history":[{"count":14,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts\/559\/revisions"}],"predecessor-version":[{"id":15617,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts\/559\/revisions\/15617"}],"wp:attachment":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/media?parent=559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/categories?post=559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/tags?post=559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}