InterBase и 1C через OLE #372000


#0 by Falex
Можно ли из 1С запляться к базе InterBase (с расширением *.gdb) и , например, выполняя процедуру или запрос, получать нужные данные из interbase базы?
#1 by Варвар
можно.
#2 by Immortal
друг у меня только этим и занимается..
#3 by Falex
А подскажите пожалуйста как?
#4 by Варвар
OLE, COM, ODBC
#5 by Garlic
Регулярно. Сказали же в .
#6 by vde69
ADO
#7 by Falex
#8 by Варвар
ну вот, попалил всю контору :))
#9 by Falex
всмысле? ))
#10 by Falex
У меня такая строка подключения, а подключиться не могу "data source=c:BD_InterBaseНиколаевский Посадshelter.gdb;auto_commit=True;ctype=win1251;user ID=SYSDBA;password=masterkey"
#11 by Falex
папку с русским называние изменял. не помогло.
#12 by Immortal
что пишет?
#13 by Immortal
#14 by romix
Вот еще способ
#15 by Falex
Эта компонента для 7
#16 by Falex
Вообщем я выполняю такой код: СтрПодключения у меня равно "Driver={Easysoft IB6 ODBC};Server=localhost;Database=localhost:c:BD_InterBaseposadshelter.gdb;Uid=SYSDBA;Pwd=masterkey" Я попадаю сюда. Что не так-то? (
#17 by Falex
Че ж не так может быть? Кто пробовал вообще подключать gdb базу таким образом?
#18 by Immortal
Сообщить(ОписаниеОшибки);
#19 by Йожык
от Easysoft'a вроде платные провайдеры для доступа к данным...
#20 by romix
Для 8 должна работать без изменений...
#21 by Falex
Не хотелось бы компоненты для 8 импользовать. там и так через ADO должно все работать
#22 by Falex
{Форма.Форма}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанного поставщика. Вероятно, он установлен неправильно.
#23 by Immortal
ну вот тебе и ответ. ты драйвер то скачал? к которому обращаешься?
#24 by romix
C ADO кстати буквально вчера встретился с косяком: дата 0:0:0, которую нормально видит Access (непонятно откуда она там взялась, сбой какой-нибудь наверное) выдает исключение при чтении через ADO.
#25 by Йожык
этот параметр, как мне думается не обязателен.. + посмотри как в DSN точно называется провайдер данных. или вот:
#26 by Йожык
это из 7.7 но особой разницы нет
#27 by Falex
Тоже самое {Форма.Форма}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанного поставщика. Вероятно, он установлен неправильно.
#28 by Falex
может что-нибудь у меня не установлено? почему такая ошибка.
#29 by Immortal
файлик сделай *.udl и им попробуй
#30 by Falex
В качества имени источника данных что выбрать?
#31 by Falex
я выбрал OLE DB PROVIDER для ODBC Drivers LCPI.IBProvider я не нашел
#32 by Immortal
у тебя поставщик(драйвер) какой?
#33 by Immortal
#34 by Falex
InterBase у меня
#35 by Falex
мне dll хватит скачать или весь дистрибутив 6 метров?
#36 by Falex
Ура.Заработало.а как выполнить процедуру и получить данные, которые она возвратит?
#37 by Falex
Никак не могу найти материал по выполнению процедур (
#38 by vde69
чую следующий вопрос будет про кракозябры
#39 by Falex
а. ну процедуру можно выполнить так: А если процедура с параметрами, то как передать?
#40 by vde69
точно не знаю, но вроде так надо EXEC  proc1 date1, date2
#41 by Immortal
=) Отладчиком посмотри свойства объекта ADODB.Command или ADODB.RecordSet Parameters вестимо
#42 by Immortal
да и зачем они, ты же текст запроса по кусочкам можешь собрать
#43 by Falex
Не всегда по кускам.пример CREATE PROCEDURE SPR_AGE2 (    paramstr varchar(1024) character set none)    number varchar character set none,    fullname varchar character set none,    g_id integer,    country varchar character set none,    countrycode varchar character set none,    countrycateg varchar character set none) as declare variable birthdate double precision; declare variable begindate double precision; declare variable enddate double precision; begin  /* Report by Age, order : Bulgaris */  /* Last update 30.06.05, mvs */  /* Last update 27.03.2006,duk*/      RS.BEGINDATE,RS.ENDDATE,R.NUMBER,G.FULLNAME,G.ID,c.name,c.code,cc.name    from ROOM_SCHEDULE RS         left join ROOM_SCHEDULE_EX RSE on (RS.ID=RSE.CLAIM)         left join GUESTS G on (G.ID=RSE.GUEST)         left join ROOMS r on rs.idroom=r.id         left join country c on c.id=g.countryref         left join country_categories cc on cc.id=c.category end^
#44 by Falex
Напишу я так. а параметры как передать?
#45 by Garlic
Ты про ХП спрашиваешь?       )  DO  END END Вызов в Builder C++:
#46 by Falex
текстзапроса = "select * SPR_EXPORT_FOR_1C(date0, date1,param)";
#47 by Falex
Да. Про хранимые процедуры. А в 1С как?
#48 by Garlic
Для 1С8 не знаю как ХП вызывать. Для 1С7 можно с помощью 1с++. Тут лучше Садовникова спросить.
#49 by Falex
мне для 8 надо. а где бы еще найти садовникова?
#51 by Garlic
2 - Но это для семерки.
#52 by Garlic
+
#53 by Falex
Не нашел. написал там на форуме. мож кто и ответит.
#54 by Immortal
в уже написали вродь
#55 by Immortal
ня
#56 by Falex
в уже написали вродь Это без скобок и как параметры ьтуда передавать? В InterBase я просто писал select * SPR_EXPORT_FOR_1C(30000, 50000,'')
#57 by Falex
Immortal. ВЕЩЬ!!!!
#58 by Falex
Смотрите. у меня в таблице OPERATIONS куча записей, а не одна не выбирается:
#59 by Falex
ВОт еще кусок. что тут не так?
#60 by Falex
Ну кому не в лом проверить у себя на базе что не так? (
#61 by Falex
теперь вот такая ошибка вылезла: {Форма.Форма}: Ошибка при вызове метода контекста (RecordCount): Произошла исключительная ситуация (LCPI.IBProvider.3.Free): Ошибка выборки данных результирующего множества. arithmetic exception, numeric overflow, or string truncation Cannot transliterate character between character sets        Если НаборЗаписей.RecordCount <> 0 Тогда по причине: Произошла исключительная ситуация (LCPI.IBProvider.3.Free): Ошибка выборки данных результирующего множества. arithmetic exception, numeric overflow, or string truncation Cannot transliterate character between character sets
#62 by Falex
кстати, если пишу select id from operations вместо select name from operations то более-менее все нормально id - тип: integer name - тип: varchar
#63 by Falex
ну тоесть при id записи выбираются,а если хочу выбрать name, то нет
#64 by Falex
я понял. надо писать: ctype=none
#65 by Falex
С процедурами как быть? Помогите пожалуйста
#66 by Falex
Я сделал!! Всем огромное спасибо!!!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С