Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Invalid parameter type у ADODB.Command (число прочтений - 10747 )
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Invalid parameter type у ADODB.Command
Ответ #15 - 11. Июля 2012 :: 12:34
Печать  
simply писал(а) 11. Июля 2012 :: 11:56:
отлично работает по #11!
но остановился на решении #10 - на восьмерку будет легче перенести. У 8.2 - 1С++ нет  Злой

и хотелось бы, хотя бы, предположения услышать - по вопросу #13


а в восьмерки есть или нет строки неограниченной длины
и они храняться также как в v7 ( в бд) или нет ???
ароде есть еще решение которое может тебе подойти.
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Invalid parameter type у ADODB.Command
Ответ #16 - 11. Июля 2012 :: 12:46
Печать  
Нашел пока для SQL баз:
Цитата:
Строки 1С неограниченной длины хранятся в отдельной таблице SQL, поэтому их использование менее производительно, чем ограниченной.
Источник: http://howknow1c.ru/programmirovanie-1c/stroka-1s.html

Также, на инфостарте:
Цитата:
«NC» - строка фиксированной длины. Длина поля равна FieldLength * 2 байт. Представляет собой строку в формате Unicode (каждый символ занимает 2 байта).
«NVC» - строка переменной длины. Длина поля равна FieldLength * 2 + 2 байт. Первые 2 байта содержат длину строки (максимум FieldLength). Оставшиеся байты представляет собой строку в формате Unicode (каждый символ занимает 2 байта).
...
«NT» - строка неограниченной длины. Длина поля 8 байт. Первые четыре байта содержат начальный индекс блока в объекте Blob таблицы, вторые четыре – длину данных в объекте Blob. В объекте Blob содержится строка в формате Unicode.

Источник: http://infostart.ru/public/19734/

А где в файловой базе?
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Invalid parameter type у ADODB.Command
Ответ #17 - 11. Июля 2012 :: 12:48
Печать  
судя по описанию "NT" - тоже в отдельной таблице
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Invalid parameter type у ADODB.Command
Ответ #18 - 11. Июля 2012 :: 12:50
Печать  
Z1 писал(а) 11. Июля 2012 :: 12:34:
вроде есть еще решение которое может тебе подойти.

какое?
  
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Invalid parameter type у ADODB.Command
Ответ #19 - 11. Июля 2012 :: 13:45
Печать  
simply писал(а) 11. Июля 2012 :: 12:50:
Z1 писал(а) 11. Июля 2012 :: 12:34:
вроде есть еще решение которое может тебе подойти.

какое?

либо преобразование в 64 полубайтов
либо мое bfile на  1cpp вроде тоже выкладывал.
просто написано на с++ и гораздо быстрее чем 64 полубайтов
и жмет лучше  чем 64 полубайты
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Invalid parameter type у ADODB.Command
Ответ #20 - 11. Июля 2012 :: 13:50
Печать  
поиск bfile по 1cpp.ru ничего не дал
  
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Invalid parameter type у ADODB.Command
Ответ #21 - 11. Июля 2012 :: 16:20
Печать  
simply писал(а) 11. Июля 2012 :: 13:50:
поиск bfile по 1cpp.ru ничего не дал

смотри
http://www.1cpp.ru/forum/YaBB.pl?num=1178538146/0
пост 10
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Invalid parameter type у ADODB.Command
Ответ #22 - 11. Июля 2012 :: 16:23
Печать  
Спасибо! Иду "курить"!
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Invalid parameter type у ADODB.Command
Ответ #23 - 17. Июля 2012 :: 14:16
Печать  
[quote author=simply link=1341507344/0#0 date=1341507344]Добрый день!
Пишу загрузку файлов в MediumBLOB-поле на vbscript:

[code]...
oStream.LoadFromFile(FileName)
P_ = oStream.Read(oStream.Size)
...
With oCommand
   .CommandText = "INSERT INTO files.f_temp (data) VALUES (@p1)"
   .CommandType = 1
   .Parameters.Append     .CreateParameter("@P",205,1,oStream.Size,P_)
   .NamedParameters = 1
   .Execute , , 128
End With[/code][/quote]


Проблема оказалась в не правильном создании объекта oCommand.
Я создавал через строку подключения:
[code]Set oComm = CreateObject("ADODB.Command")
oComm.ActiveConnection = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=" & ServerName & ";UID=" & LoginName & ";PWD=" & Password & ";DATABASE=;OPTION=67110920"[/code]
А нужно через объект ADODB.Connection!
[code]Set oConn = CreateObject("ADODB.Connection")
With oConn
     .ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=" & ServerName & ";UID=" & LoginName & ";PWD=" & Password & ";DATABASE=;OPTION=67110920"
     .ConnectionTimeout = 3
     .CursorLocation = 3
     .Open
End With
Set oComm = CreateObject("ADODB.Command")
With oComm
     .ActiveConnection = oConn
     .CommandText = "INSERT INTO files.f_temp (data) VALUES (?)"
     .CommandType = 1
     .Parameters.Append .CreateParameter("@1",205, ,oStream.Size,oStream.Read)
     .Execute , , 128
End With[/code]
Все отлично работает!

[b]P.S.:[/b] В прошлый раз я выбрал вариант через функцию MySQL "LOAD_FILE()". Если у вас есть slave-сервера, реплицируемые не по данным, а по командам, то эта функция не подлежит репликации, и блоб-данные - соответственно.
[quote]Non-Deterministic Behavior

It turns out that transactions with mixed tables are not the only problems. There are also a number of functions which pose problems for MySQL statement-based replication. They are:

CURRENT_USER()
LOAD_FILE()
UUID()
UUID_SHORT()
USER()
FOUND_ROWS()
SYSDATE()
VERSION()
[/quote]
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать