Latest posts on Подключение к базе данных Oracle topichttps://python.su/forum/topic/39984/2021-02-16T20:42:28+02:00Общий :: Базы данных :: Подключение к базе данных Oracle
2021-02-16T20:42:28+02:00VIRTOK214848<strong>Помогло спасибо </strong> <br/>нужно выполнить следующие действия <br/>1. Перейти на страницу <br/><a href="https://www.oracle.com/database/technologies/instant-client/microsoft-windows-32-downloads.html">https://www.oracle.com/database/technologies/instant-client/microsoft-windows-32-downloads.html</a><br/>2. Загрузить <a href="https://download.oracle.com/otn_software/nt/instantclient/191000/instantclient-basic-nt-19.10.0.0.0dbru.zip">https://download.oracle.com/otn_software/nt/instantclient/191000/instantclient-basic-nt-19.10.0.0.0dbru.zip</a> <br/><br/><strong>Далее выполнить следующие действия:</strong> <br/><div class="code"><pre>Instant Client Installation for Microsoft Windows 32-bit<br/><br/>See the Instant Client Home Page for more information about Instant Client packages.<br/><br/>Client-server version interoperability is detailed in Doc ID 207303.1. For example, Oracle Call Interface 18.3 and 12.2 can connect to Oracle Database 11.2 or later. Some tools may have other restrictions.<br/><br/>1.Download the appropriate Instant Client packages for your platform. All installations require the Basic or Basic Light package.<br/>2.Unzip the packages into a single directory such as C:\oracle\instantclient_12_2<br/>3.Add this directory to the PATH environment variable. If you have multiple versions of Oracle libraries installed, make sure the new directory occurs first in the path<br/>4.Download and install the correct Visual Studio Redistributable from Microsoft. Instant Client 12.2 requires the Visual Studio 2013 redistributable. Instant Client 12.1 requires the Visual Studio 2010 redistributable.<br/>5.If you intend to co-locate optional Oracle configuration files such as tnsnames.ora, sqlnet.ora, ldap.ora, or oraaccess.xml with Instant Client, then create a subdirectory C:\oracle\instantclient_12_2\network\admin<br/>This is the default Oracle client configuration directory for applications linked with this Instant Client.<br/>Alternatively, Oracle client configuration files can be put in another, accessible directory. Then set the environment variable TNS_ADMIN to that directory name.<br/>Start your application.<br/><br/>ODBC users should follow the ODBC Installation Instructions https://www.oracle.com/database/technologies/releasenote-odbc-ic.html</pre></div>
Общий :: Базы данных :: Подключение к базе данных Oracle
2021-02-16T15:28:46+02:00PEHDOM214842Cannot locate a 32-bit Oracle Client library - не могу найти 32-х битную либу Оракл Клиента.<br/>Очевидно что cx_Oracle только обертка для Oracle Instant Client. Вам нужно его скачать и установить отдельно: <a href="https://www.oracle.com/database/technologies/instant-client.html">https://www.oracle.com/database/technologies/instant-client.html</a> <br/>там по ссылке что вам ошибка выдает <a href="https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html">https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html</a> все расписано на “щирій англійскій мові”
Общий :: Базы данных :: Подключение к базе данных Oracle
2021-02-16T15:03:40+02:00VIRTOK214840Подключение к базе данных Oracle используя следующий код.<br/><div class="code"><pre> <span class="kn">import</span> <span class="nn">cx_Oracle</span>
<span class="k">def</span> <span class="nf">connect_to_the_oracle_database</span><span class="p">(</span><span class="n">host</span><span class="p">,</span><span class="n">port</span><span class="p">,</span><span class="n">SID</span><span class="p">,</span><span class="n">username</span><span class="p">,</span><span class="n">password</span><span class="p">):</span>
<span class="c1"># host = '192.168.0.1'</span>
<span class="c1"># port = 1521</span>
<span class="c1"># SID = 'YOURSIDHERE'</span>
<span class="n">dsn_tns</span> <span class="o">=</span> <span class="n">cx_Oracle</span><span class="o">.</span><span class="n">makedsn</span><span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">SID</span><span class="p">)</span>
<span class="c1">#Подключаемся к базе</span>
<span class="n">myconnection</span> <span class="o">=</span> <span class="n">cx_Oracle</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">username</span><span class="p">,</span> <span class="n">password</span><span class="p">,</span> <span class="n">dsn_tns</span><span class="p">)</span>
<span class="c1">#Cоздаем курсор</span>
<span class="n">mycursor</span> <span class="o">=</span> <span class="n">myconnection</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
<span class="c1">#Выполяем sql-запрос</span>
<span class="n">mycursor</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="s1">'select * from ver;'</span><span class="p">)</span>
<span class="c1"># парсим полученный результат в список кортежей</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">mycursor</span><span class="o">.</span><span class="n">fetchall</span><span class="p">()</span>
<span class="c1"># выводим на экран значения полей</span>
<span class="k">print</span><span class="p">(</span><span class="n">result</span><span class="p">)</span>
<span class="c1"># после выполнения всех нужных нам действий закрываем соединение с базой</span>
<span class="n">myconnection</span><span class="o">.</span><span class="n">close</span>
<span class="n">connect_to_the_oracle_database</span><span class="p">(</span><span class="n">host</span><span class="p">,</span><span class="n">port</span><span class="p">,</span><span class="n">SID</span><span class="p">,</span><span class="n">username</span><span class="p">,</span><span class="n">password</span><span class="p">)</span>
</pre></div><br/>Получаю сообщение <br/><div class="code"><pre> <span class="n">cx_Oracle</span><span class="o">.</span><span class="n">DatabaseError</span><span class="p">:</span> <span class="n">DPI</span><span class="o">-</span><span class="mi">1047</span><span class="p">:</span> <span class="n">Cannot</span> <span class="n">locate</span> <span class="n">a</span> <span class="mi">32</span><span class="o">-</span><span class="n">bit</span> <span class="n">Oracle</span> <span class="n">Client</span> <span class="n">library</span><span class="p">:</span> <span class="s2">"The specified module could not be found"</span><span class="o">.</span> <span class="n">See</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">cx</span><span class="o">-</span><span class="n">oracle</span><span class="o">.</span><span class="n">readthedocs</span><span class="o">.</span><span class="n">io</span><span class="o">/</span><span class="n">en</span><span class="o">/</span><span class="n">latest</span><span class="o">/</span><span class="n">user_guide</span><span class="o">/</span><span class="n">installation</span><span class="o">.</span><span class="n">html</span> <span class="k">for</span> <span class="n">help</span>
</pre></div>и подключение к БД не получается