<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS:"Собрать" эксель файл из большой строки шестнадцатеричного формата]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=13245</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=13245&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS:"Собрать" эксель файл из большой строки шестнадцатеричного формата».]]></description>
		<lastBuildDate>Tue, 28 Nov 2017 11:45:19 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS:"Собрать" эксель файл из большой строки шестнадцатеричного формата]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=121742#p121742</link>
			<description><![CDATA[<p>Вообщем, проблему удалось-таки решить средствами самого оракла) Оказывается, там есть такой пакет UTL_FILE, который умеет проворачивать такие штуки как распаковка блоба в файл, причем в принципе в любой, какой укажешь. Пришлось, правда, шаманить прикинувшись dba в SQL*Plus.</p>]]></description>
			<author><![CDATA[null@example.com (Eugene)]]></author>
			<pubDate>Tue, 28 Nov 2017 11:45:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=121742#p121742</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS:"Собрать" эксель файл из большой строки шестнадцатеричного формата]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=121703#p121703</link>
			<description><![CDATA[<p>Так Вам естественным образом нужен адаптер для БД на клиентской стороне. </p><p>Проще говоря нужна библиотека <strong>OraOLEDB.DLL</strong> на компьютере с которого запускаете скрипт. И она должна быть зарегистрирована через <strong>regsvr32</strong></p><p>Пример пояснения подобной ошибки: <br /><a href="http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&amp;tid=52138&amp;msg=364502">OraOLEDB.Oracle.1 provider is not registered on the local machine</a></p><p><a href="https://docs.oracle.com/cd/B28359_01/win.111/b28431/intro.htm">Документация по теме</a></p><p><a href="https://docs.oracle.com/cd/B28359_01/win.111/b28431/intro.htm#i1004001">Необходимые библиотеки</a></p><p>Законный вопрос - &quot;И что с этим делать то ???&quot;</p><p>Думаю Вам нужно поставить <a href="http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html">Oracle Instant Client</a> соответственно разрядности Вашей системы.</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Mon, 27 Nov 2017 16:06:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=121703#p121703</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS:"Собрать" эксель файл из большой строки шестнадцатеричного формата]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=121697#p121697</link>
			<description><![CDATA[<p><strong>Xameleon</strong>,</p><p>ситуация успела несколько измениться. </p><p>Я пытаюсь подконнектиться к своему источнику данных под той учеткой, которая ходит в бд. Получаю следующую ошибку (см. файл tns_error). Тестовый коннект выполняю, запуская файл .udl (появляется окно Data Link Properties с различными параметрами).</p><p>Код, который я запускаю, вот такой:</p><div class="codebox"><pre><code>
Option Explicit

Const C_ORA_SID = &quot;Ora_EGRC&quot;
Const C_ORA_USR = &quot;&quot;
Const C_ORA_PWD = &quot;&quot;

Const C_TBL = &quot;dual&quot;
Const C_FLD_LOB = &quot;sysdate&quot;
Const C_FLD_ID = &quot;ID_FIELD&quot;

Dim oConn, sSQL, oRst, oLOB, f
Set oConn = CreateObject(&quot;ADODB.Connection&quot;)
oConn.ConnectionString = &quot;Provider=OraOLEDB.Oracle.1;Data Source=&quot; &amp; C_ORA_SID &amp; &quot;;User ID=&quot; &amp; C_ORA_USR &amp; &quot;;Password=&quot; &amp; C_ORA_PWD &amp; &quot;;&quot;
oConn.Open
sSQL = &quot;SELECT &quot; &amp; C_FLD_LOB &amp; &quot; FROM &quot; &amp; C_TBL
Set oRst = oConn.Execute(sSQL)
</code></pre></div><p>Запускаю этот код (vbs) в командной строке и получаю следующее сообщение:</p><div class="codebox"><pre><code>
another_var.vbs(17, 1) ADODB.Connection: Provider cannot be found. It may not be properly installed.
</code></pre></div><p>Проблема может быть связана с тем, что само приложение в данный момент лежит, хотя база доступна и запросы к ней я могу делать.</p>]]></description>
			<author><![CDATA[null@example.com (Eugene)]]></author>
			<pubDate>Mon, 27 Nov 2017 13:29:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=121697#p121697</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS:"Собрать" эксель файл из большой строки шестнадцатеричного формата]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=121691#p121691</link>
			<description><![CDATA[<p><strong>Eugene</strong>, а можно взглянуть на код (естесственно без реальных паролей), который Вы запускаете и узнать каким интерпретатором исполняете ?</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Mon, 27 Nov 2017 12:47:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=121691#p121691</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS:"Собрать" эксель файл из большой строки шестнадцатеричного формата]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=121681#p121681</link>
			<description><![CDATA[<p><strong>Xameleon</strong>,</p><p>попробую воспользоваться вашим примером с ADODB.Connection. Спасибо за помощь!</p><p>Подскажите как проверить, что есть коннект? Подставил свои параметры (драйвер, имя источника данных, логин пароль) и добавил строчку MsgBox conn.State. Запускаю скрипт, появляется окно командной строки и тут же пропадает..</p>]]></description>
			<author><![CDATA[null@example.com (Eugene)]]></author>
			<pubDate>Mon, 27 Nov 2017 08:44:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=121681#p121681</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS:"Собрать" эксель файл из большой строки шестнадцатеричного формата]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=121675#p121675</link>
			<description><![CDATA[<p>Для этих целей, Вы можете создать подключение к базе используя объект <strong>ADODB.Connection</strong>. Далее используя либо <strong>ADODB.Command</strong> либо <strong>ADODB.Recordset</strong> получить набор записей из которых нужно выгрузить данные. После этого у объекта <strong>Recordset</strong> взять необходимое поле <strong>Field</strong> и через его метод <strong>GetChunk</strong> загрузить блоками (или сразу всё содержимое) в <strong>SAPI.spFileStream</strong> / <strong>SAPI.spMemoryStream</strong>. И уже тогда выполнить сохранение на диск.</p><p><a href="http://www.vbaexpress.com/forum/showthread.php?18516-Solved-Connect-to-Oracle&amp;p=150912&amp;viewfull=1#post150912">Пример подключения к базе Oracle</a></p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Sun, 26 Nov 2017 20:35:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=121675#p121675</guid>
		</item>
		<item>
			<title><![CDATA[VBS:"Собрать" эксель файл из большой строки шестнадцатеричного формата]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=121674#p121674</link>
			<description><![CDATA[<p>Всем доброго времени суток.</p><p>У меня есть большая строка (8000 символов; это поле типа BLOB (binary large object) в БД Оракл) в шестнадцатеричном формате, которая в действительности является файлом формата .xlsx (я это знаю точно, потому что в соседнем поле лежит имя файла с расширением). Мне нужно эту строку &quot;превратить&quot; в физический файл экселя на диске. Т.е., этот файл &quot;упакован&quot; в BLOB в Оракле. Мне нужно его &quot;распаковать&quot;.</p><p>На другом форуме мне подсказали, что для этой цели можно использовать SAPI.SpFileStream, т.к. он не грузит данные в память в отличие от ADODB.</p><p>Казус заключается еще и в том, что файлы там разных типов - есть эксель, есть вордовский документ, а есть архив. Подскажите, пожалуйста, как можно такую строчку распарсить объектом SAPI.SpFileStream. В принципе саму строчку я могу выгрузить в текстовый файл, чтобы не лазить за ней в базу.</p>]]></description>
			<author><![CDATA[null@example.com (Eugene)]]></author>
			<pubDate>Sun, 26 Nov 2017 18:54:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=121674#p121674</guid>
		</item>
	</channel>
</rss>
