![]() |
![]() |
![]() |
|
Как из 8.0 напрямую работать с некоей базой SQL? | ☑ | ||
---|---|---|---|---|
0
antidot
26.12.08
✎
17:20
|
Как из 8.0 напрямую работать с некоей базой SQL?
Структура базы известна. Надо читать из базы и писать в нее. |
|||
1
Попытка1С
26.12.08
✎
17:20
|
(0) по ADO
|
|||
2
antidot
26.12.08
✎
17:21
|
А там запись как реализуется ?
|
|||
3
antidot
26.12.08
✎
17:21
|
И ODBC это оно и есть ?
|
|||
4
Живой Ископаемый
26.12.08
✎
17:21
|
2(2) c помощью запросов типа "INSERT INTO"
|
|||
5
Живой Ископаемый
26.12.08
✎
17:22
|
2(3) ОДБС - это драйвера...
|
|||
6
antidot
26.12.08
✎
17:22
|
Ясень нащщет запросов, а ODBC это оно ADO и есть ?
|
|||
7
antidot
26.12.08
✎
17:23
|
Понятно, то есть через ODBC драйвер ?
|
|||
8
Живой Ископаемый
26.12.08
✎
17:23
|
считай, да...
|
|||
9
antidot
26.12.08
✎
17:24
|
Если все вышесказанное работает, то вопросов больше нет.
|
|||
10
H A D G E H O G s
26.12.08
✎
17:33
|
(0) Привет, Великий и Могучий.
|
|||
11
philll
26.12.08
✎
17:41
|
Connection = Новый COMObject("ADODB.Connection");
работает, например: ConnectionString = СокрЛП(строка(константы.СтрокаПодключения.Получить())); Connection.ConnectionTimeOut =6000; Connection.CommandTimeout =6000; Connection.CursorLocation = 3; Connection.Open(ConnectionString); для каждого строка из табличнаяЧасть1 цикл НаборЗаписей = Новый COMОбъект("ADODB.RecordSet"); НаборЗаписей = connection.Execute("имя процедуры"+"'"+параметр1+"'"+",'"+параметр2+"'"); Пока НаборЗаписей.Eof() = 0 Цикл .... |
|||
12
antidot
26.12.08
✎
20:48
|
Ну это-то я знаю. А как данные вставлять ? Инсертом ?
А если я фотку в "blob" хочу вставить ? |
|||
13
antidot
26.12.08
✎
20:49
|
(11) привет ! :-)
|
|||
14
Балабес
26.12.08
✎
20:53
|
в моем случае, связь через адо занимала часов 5, сейчас скуль гоняет через хр. процедурки тоже самое за 3 минуты.
|
|||
15
antidot
26.12.08
✎
21:08
|
(14)Что за технология ?
|
|||
16
Immortal
26.12.08
✎
21:53
|
(15) подход скорее..в ms sql пишется хранимая процедура, которая и стартует из 1с..
|
|||
17
antidot
26.12.08
✎
22:10
|
а *.dll для 1С, аналогичных как для php нет ?
|
|||
18
Immortal
26.12.08
✎
22:12
|
(17) каких?
да они и не нужны.. |
|||
19
antidot
26.12.08
✎
22:20
|
а как-же тогда блобы инсертить ? Базовые типы можно через строку передать, а блобы ?
|
|||
20
antidot
26.12.08
✎
22:20
|
мне надо в базе фотки сохранять в том числе
|
|||
21
H A D G E H O G s
26.12.08
✎
22:44
|
(20) Ты будешь брать файл и сохранять в базе через 1С, или бы будешь брать объект Картинка и сохранять в базе?
|
|||
22
antidot
26.12.08
✎
22:47
|
Брать буду файлик с картинкой, а вот как его сохранить- ума не приложу.
|
|||
23
Defender aka LINN
26.12.08
✎
23:07
|
Меня всегда роадовали люди, которые хотят "блобы инсертить" в "базу SQL"
|
|||
24
H A D G E H O G s
27.12.08
✎
00:47
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
Stream=Новый COMОбъект("ADODB.Stream"); Stream.Type=1; Stream.Open(); Stream.LoadFromFile("C:\БылЗвонок.bmp"); Connection=Новый COMОбъект("ADODB.Connection"); Connection.Open("Provider=SQLOLEDB.1; Data Source=NEXTGEN; Initial Catalog=MyBase; User ID=sa;"); RecordSet=Новый COMОбъект("ADODB.Recordset"); RecordSet.CursorLocation=3; RecordSet.LockType=2; Запрос="Select data from dbo.MyTable"; RecordSet.Open(Запрос, Connection); Если RecordSet.RecordCount=0 Тогда RecordSet.AddNew(); // RecordSet.Fields(0).Value=1; Иначе RecordSet.MoveFirst(); КонецЕсли; RecordSet.Fields("Data").Value=Stream.Read(-1); RecordSet.Update(); Stream.Close(); КонецПроцедуры Процедура ОсновныеДействияФормыd(Кнопка) Stream=Новый COMОбъект("ADODB.Stream"); Stream.Type=1; Stream.Open(); Connection=Новый COMОбъект("ADODB.Connection"); Connection.Open("Provider=SQLOLEDB.1; Data Source=NEXTGEN; Initial Catalog=MyBase; User ID=sa;"); RecordSet=Новый COMОбъект("ADODB.Recordset"); RecordSet.CursorLocation=3; RecordSet.LockType=2; Запрос="Select data from dbo.MyTable"; RecordSet.Open(Запрос, Connection); RecordSet.MoveFirst(); Stream.Write(RecordSet.Fields("Data").Value); Stream.SaveToFile("c:\БылЗвонокВост.bmp"); Stream.Close(); КонецПроцедуры |
|||
25
H A D G E H O G s
27.12.08
✎
00:51
|
(24) Через Опу, но работает..
Табличка MyTable, колонка Data, тип Image. Пинок дан, как говорится. P.S. Делал хрень первый раз, может что и не работает.. P.S.S. Особенно симпатичны посты (173, 176, 178, 179) ветки OFF: Чего-то на работу перестали принимать по 1С. Чего, "снеговик" уже никому не нужен ? Я - не злопамятный. Просто я - злобный и у меня память хорошая. |
|||
26
Immortal
27.12.08
✎
01:03
|
неплохо подъе@#л=))
|
|||
27
antidot
27.12.08
✎
14:42
|
(25)Да нашол я говноработенку одну, херня конечно, но хоть дома не сидеть.
|
|||
28
antidot
27.12.08
✎
14:43
|
Там есть база данных SQL-ная и данные надо гонять туда-сюда, и это при том, что там говеный интерфейс, нет средств выведения отчетов и пакетного ввода вывода.
|
|||
29
NcSteel
27.12.08
✎
15:01
|
А не легче твои картинки на диске хрнить?
|
|||
30
Балабес
27.12.08
✎
15:02
|
(24) в 2008 можно блобы передавать, ждем нормального размера интсалятор, 4 гига это дикость.
|
|||
31
H A D G E H O G s
27.12.08
✎
15:03
|
Всем привет..
|
|||
32
H A D G E H O G s
27.12.08
✎
15:05
|
(30) Пардон, а я что в (24) передавал?
|
|||
33
antidot
27.12.08
✎
15:49
|
(29) А там они в базе сохраняются и говнопрограмка их кажет, когда надо. То есть надо хранить в базе.
|
|||
34
antidot
27.12.08
✎
15:51
|
А кроме ADO есть еще какие-нито методы доступа в SQL базе ?
|
|||
35
H A D G E H O G s
27.12.08
✎
15:52
|
(34) ППЦ, автор тебе пинок (24) не помог?
|
|||
36
antidot
27.12.08
✎
15:54
|
(35)Вообщет седни суббота, а база на работе. Просто я решил за выхи подумать, как там и чего можно сделать.
Надеюсь, описание методов есть в инете ? Я не очень понимаю идеалогию того, что ты сделал. |
|||
37
Балабес
27.12.08
✎
16:25
|
(36) лол :)
|
|||
38
szhukov
27.12.08
✎
16:36
|
Ветку в юмор пора! лол :)
|
|||
39
shuhard
27.12.08
✎
16:43
|
(34) не хочешь стрим, юзай чунк
http://support.microsoft.com/kb/189415/ |
|||
40
antidot
27.12.08
✎
17:40
|
(38)RecordSet.CursorLocation=3 почему курсор на третьей строчке ? И на третьей-ли ?
Это я для примера спросил. Нет, ну можно несознательно повести себя, сперва натворить делов, а потом понять где ты был неправ. |
|||
41
shuhard
27.12.08
✎
17:44
|
(40)
adUseClient=3 adUseServer=2 |
|||
42
antidot
27.12.08
✎
17:50
|
(41) Я не понял, что ты написал. Я не телепат и что у тебя в голове понять не могу. Можешь выразиться по человечески ?
|
|||
43
shuhard
27.12.08
✎
17:53
|
(42) забанили весь интернет - купи MSDN
|
|||
44
H A D G E H O G s
27.12.08
✎
17:55
|
(41) Пардон, ошибся..
(42) http://fp.grsu.by/UchProc/konspekt/VBA/ch05/ch05/ch02/ch02 |
|||
45
H A D G E H O G s
27.12.08
✎
17:56
|
(44) В принципе писал - на коленке, пусть автор улучшает.. Он у нас - спец.
|
|||
46
antidot
27.12.08
✎
18:02
|
(45)Спасибо Хадгенхог, но чтоб улучшить, надо разобраться что за что отвечает, согласись ?!
|
|||
47
lift
28.12.08
✎
05:33
|
да брось ты 8.0
|
|||
48
ДенисЧ
28.12.08
✎
05:36
|
Как только нашего Ёжика не называли :-))
|
|||
49
ProgAL
28.12.08
✎
10:34
|
(0) Кстати, а последняя работа по САПу была не в Заволжье со служебным автобусом? Случайно не через АНКОР ее нашел?
|
|||
50
Балабес
28.12.08
✎
11:08
|
автор жжет, сначала просит помощи, ему помогают, потом он еще и гнать на помощников начинает. вот и помогай после этого людям.
|
|||
51
antidot
29.12.08
✎
14:43
|
(49)Нет, у немцев одних.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |