#0
by Иде я?
Подскажите. Пытаюсь записать в таблицу - не записывает. Отрабатывает, но таблица пустая... Set connObj = createObject("ADODB.Connection") 'соединение Set recSetObj = createObject("ADODB.Recordset") ' набор записей connObj.open = "Provider=SQLOLEDB;Initial Catalog =yadro;Data Source =kompsqlexpress;uid=test;pwd=test" Set recSetObj.activeConnection = connObj recSetObj.Open "Contragent",connObj,1,4,2 'rstTitles.Open strSQLTitles, Cnxn, adOpenKeyset, adLockBatchOptimistic, adCmdTable Set view = db.GetView("(Hidden)DBCompanyNameList") Set doc = view.GetFirstDocument While Not(doc Is Nothing) Company_FullName = doc.GetItemValue("Company_FullName") Company_Name = doc.GetItemValue("Company_Name") recSetObj.addnew recSetObj("Name").value = Cstr(Company_Name) recSetObj("FullName").value = Cstr(Company_FullName) recSetObj.Update Set doc = view.GetNextDocument(doc) Wend recSetObj.UpdateBatch recSetObj.Close connObj.close
#2
by Иде я?
Теперь затык при записи прикрепленного файла в BLOB поле: filepath$ = "C: emp" & o.Source Call o.ExtractFile(filepath$) Set mstream = createObject("ADODB.Stream") mstream.Type = 1 mstream.Open mstream.LoadFromFile filepath$ recSetObj.Fields("passport").value = mstream.Read Вот тут вылетает ошибка: Array size exceed maximum limit
#10
by Иде я?
Щас сделал FSize = o.fileSize filepath$ = "C: emp" & o.Source Call o.ExtractFile(filepath$) mstream.Open mstream.LoadFromFile filepath$ Do While Not (mstream.EOS) recSetObj.Fields("Ustav-passport").AppendChunk = mstream.Read(32000) Loop mstream.close Валиться -Provider - недостаточно памяти для завершения операции
#15
by aleks-id
Dim mstream As New ADODB.Stream ... mstream.Type = 1 mstream.Open mstream.LoadFromFile filepath$ recSetObj.Fields("@passport").value = mstream.Read а так?
#18
by Иде я?
Do While Not (mstream.EOS) Print Cstr(Fsize) Fsize=FSize-10000 recSetObj.Fields("Ustav-passport").appendchunk = mstream.Read(1024) Loop mstream.close recSetObj.UpdateBatch Вылетает с : Microsoft OLE DB Provider for SQL Server: При вызове ITransaction::Commit или ITransaction::abort объект не отвечает на запросы
#25
by Иде я?
Не, щас начало пахать...3 гига памяти выжрало, жду вывалится или нет Перезапустил клиента лотус - он скотина память не отдавал.
#30
by Иде я?
Да хрен там. Пробовал после каждой записи делать updatebatch не фурычит. Щас каждые 10 документов переподключаюсь - все равно вылетело. причем вылетело в момент записи большого документа
#32
by Иде я?
Щас текст приведу. Set db = New NotesDatabase( "", "d:asaasa1.nsf" ) ' открываем базу контрагентов Set connObj = createObject("ADODB.Connection") 'соединение Set recSetObj = createObject("ADODB.Recordset") ' набор записей Set mstream = createObject("ADODB.Stream") mstream.Type = 1 Set view = db.GetView("(Hidden)DBCompanyNameList") Set doc = view.GetFirstDocument ii=0 While Not(doc Is Nothing) If ii=0 Then connObj.open = "Provider=SQLOLEDB;Initial Catalog =yadro;Data Source =komp1sqlexpress;uid=user1;pwd=parol1" Set recSetObj.activeConnection = connObj recSetObj.Open "Contractors",connObj,1,3,2 End If ii=ii+1 recSetObj.addnew Company_FullName = doc.GetItemValue("Company_FullName") Company_Name = doc.GetItemValue("Company_Name") If Doc.HasItem("Status") Then status = Cstr(doc.GetItemValue("Status")) If(doc.Hasembedded) And (status="1") Then If Doc.HasItem("ustav") Then Set rtitem = doc.GetFirstItem( "ustav" ) If Not (Isempty(rtitem.EmbeddedObjects)) Then If ( rtitem.Type = RICHTEXT ) Then Forall o In rtitem.EmbeddedObjects If ( o.Type = EMBED_ATTACHMENT ) Then FSize = o.fileSize filepath$ = "C: emp" & o.Source Call o.ExtractFile(filepath$) mstream.type =1 mstream.Open mstream.LoadFromFile filepath$ Print filepath$ Do While Not (mstream.EOS) Print Cstr(Fsize) Fsize=FSize-30240 recSetObj.Fields("Ustav-passport").appendchunk = mstream.Read(30240) Loop mstream.close End If End Forall End If End If End If End If End If Print " " & Cstr(Company_FullName) recSetObj("Name_br").value = Cstr(Company_Name) recSetObj("FullName_br").value = Cstr(Company_FullName) If ii=20 Then ii=0 recSetObj.UpdateBatch recSetObj.Close connObj.close End If Set doc = view.GetNextDocument(doc) Wend recSetObj.UpdateBatch recSetObj.Close connObj.close ErrorLab: 'Msgbox "Error #" + Cstr(Err) + " in " + Cstr(Getthreadinfo) + "(" + Cstr(Erl) + ") : " + Error, 48, "Ошибка исполнения" Print "Error #" + Cstr(Err) + " in " + Cstr(Getthreadinfo) + "(" + Cstr(Erl) + ") : " + Error Exit Sub
#33
by aleks-id
ты проверь на чем оно валится. отключи пока запись в базу и только читай в стрим, а потом сохраняй стрим в другую папку. если это взлетит - значит проблема в провайдере бд
#34
by Иде я?
Валиться в recSetObj.Fields("Ustav-passport").appendchunk = mstream.Read(30240) Читает файл 2-4 мега, и в какой-то момент, на энном чтении-записи вылетает.
#37
by Иде я?
и где там драйвер ? Не, работать извне с лотусом то еще извращение. Пока выход нашел в выгрузке по частям. Выгрузил 100 документов, поправил базу, перезашел - дальше выгрузил. ЗАтык с массивом ранее был из за ограничения лотуса в 64 килобайта на массив. кароче здравствуй попа-новый год. Уже думаю выгружать в файло все и потом писать зарузку из файла
#38
by Иде я?
Вот гомосяцкие гомосеки: При использовании метода AppendChunk объекта ADODB.Recordset, возникает следующее сообщение об ошибке: Недостаточно памяти для завершения операции.. Чтобы обойти эту проблему, воспользуйтесь одним из приведенных ниже способов. Открытие объекта ADODB.Connection и задайте для свойства CursorLocation adUseClient и использовать это подключение с помощью ADODB.Recordset. -ИЛИ- Использовать только один вызов AppendChunk и добавления всех данных с одним вызовом AppendChunk. Обратите внимание, что это ограничивает вас до размера максимального блока 511818 байтов.
#39
by Иде я?
Это я уже на 2008R2 запустил, один хрен вылетело, ладно хоть на ангийском ошибка - позволило найти багу
#40
by Иде я?
Сижу бодаюсь с хранимой процедурой пока не пашет, пишет : ADODB.Command Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом
#41
by Иде я?
Этот ипучий лотус даже с параметрами хрен чо сделаешь mstream1.type =1 mstream1.Open mstream1.LoadFromFile filepath$ Set par1 = cmd.CreateParameter("@Blob",204,1 ,mstream1.Size, mstream1.Read) И тут ошибка Array size exceed limit !!!! cmd.Parameters.Append(par1) cmd.Execute Cmd.Parameters.Clear
#46
by Иде я?
Прийдется. Фишка в том, что даже пересоздавая connection и recordset каждые 300 документов - оно выжирает всю память и вылетает щас попробую через хранимые процедуры кусками
#48
by Иде я?
Щас все курочу. Решили выгружать файло с UID и потом отдельно грузить его в BLOB поле. Только имя файла сажать в базу
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- 1cv8 SQL: Имя SQL сервера и имя SQL базы данных
- Проектирование: 1С 7.7 SQL + Windows 2003 Server + MS SQL Server 2000 (Ent) + сервер термин
- SQL Server Enterprise Edition VS SQL Server Standard Edition
- Как таблицу значений значений превратить во временную таблицу SQL ?
- Определенный диапазон колонок у Excel (ADODB)
- v7: можно ли использовать таблицу отчет как Экселевскую таблицу
- v8: Тонкий клиент и ADODB
- v7: Выгрузить таблицу значений в таблицу
- ADODB.CONNECTION - open() вылетает с ошибкой если год - 2012..
- Запись бух. операции сильно тормозит (запись в регистр бухгалтерии)
- ADODB.Connection, VFP драйвер и sys(3055,2040)
В этой группе 1С
- Как узнать откуда 8.2 берет лицензию?
- (ЗУП) Галочка "Взаиморасчеты по зарплате" - непонятные суммы
- Унифицированая форма ИНВ-16
- КД2 Как перенести РС РегламентированныйПроизводственныйКалендарь
- УФ, поле формы, путь к данным = объект.дата, ДФ=ЧЧ:мм, пишет полную дату
- Нет расширенной настройки в стандартном отчете
- Сохранение настроек СКД в обработке
- база для расчета среднего для больничных УПП
- Как узнать что храниться в таблице sql сервера
- Выборка результата запроса с итогами - итоги сразу по нескольким полям
- УТ 11, Продажа в Розницу с Оптового склада
- v7: Проверить есть ли у текущего пользователя роль "Администратор"
- OLE в фоновом режиме
- Обработка заполнения табличной части Выбрать документ
- v7: Не удалось сформировать машиночитаемую форму
- УПП Справка 2-НДФЛ для сотрудника
- v7: запуск обработки при начале работы системы
- Вылетает "Универсальный обмен данными в формате xml 2.1.5"
- НДС УПП
- УТ 10.3: Не работает обмен с программной лицензией