|
v7: Запись напрямую в табличку в базе на postgree из 7.7 | ☑ | ||
---|---|---|---|---|
0
mishaPH
модератор
30.01.14
✎
13:12
|
Коллеги.
Как подключиться к имеющейся базе постгри и записать в табличку нужную данные. |
|||
1
МихаилМ
30.01.14
✎
13:14
|
||||
2
mishaPH
модератор
30.01.14
✎
14:06
|
гм
что-то не выходит нашел пример. PostgresCON = СоздатьОбъект("ADODB.Connection"); ConnectionString = "Provider=PostgreSQL OLE DB Provider;Password=adempiere;User ID=adempiere;Data Source=192.168.20.200;Location=prod3;Extended Properties="; PostgresCON.Open(ConnectionString); Говорит Не удается найти указанный поставщик. Вероятно, он установлен неправильно. запустил 1.udl. действительно нет. и вроде бы psqlodbc.msi установил |
|||
3
mishaPH
модератор
30.01.14
✎
15:19
|
гм. запустил
немного с другой конструкцией. |
|||
4
dk
30.01.14
✎
15:22
|
дык запустил - делись мало ли кому потом понадобится
|
|||
5
mishaPH
модератор
30.01.14
✎
15:26
|
Conn = СоздатьОбъект("ADODB.Connection");
ConnectionString = "DRIVER={PostgreSQL Unicode};DATABASE=prod3;SERVER=192.168.20.200;PORT=5432;UID=adempiere;PWD=adempiere;"; ААА = Conn.Open(ConnectionString); Cmd = СоздатьОбъект("ADODB.Command"); Conn.BeginTrans(); Cmd.ActiveConnection = Conn; Cmd.CommandText = "select m_product_id, ad_client_id, ad_org_id, isactive, created, createdby from adempiere.m_product"; Попытка Res = Cmd.Execute(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Пока Res.Eof() = 0 Цикл //проверяем есть ли реквизит в базе ФлагУдСтр = 1; Для А=0 По 5 Цикл Сообщить(СокрЛП(Res.Fields(А).Name), Res.Fields(А).Value); КонецЦикла; Попытка Res.MoveNext(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЦикла;; Попытка Conn.CommitTrans(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Попытка Conn.Close(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; |
|||
6
mishaPH
модератор
30.01.14
✎
15:26
|
СокрЛП(Res.Fields(А).Name
имя поля выдает значение Res.Fields(А).Value выдает ошибку как получить значение поля??? |
|||
7
mishaPH
модератор
30.01.14
✎
15:27
|
Тип переменой не поддерживается говорит.
|
|||
8
ДенисЧ
30.01.14
✎
15:28
|
Res.Fields("m_product_id").Name
так что говорит? Тип переменной в таблице какой? |
|||
9
mishaPH
модератор
30.01.14
✎
15:32
|
гм. некоторые поля isactive, created выдает значение велью
|
|||
10
mishaPH
модератор
30.01.14
✎
15:34
|
в общем он не хочет выдавать типы полей которые numeric
|
|||
11
mishaPH
модератор
30.01.14
✎
15:36
|
значение полей. через Value
|
|||
12
dk
30.01.14
✎
15:37
|
кастани в другой тип
|
|||
13
ДенисЧ
30.01.14
✎
15:40
|
(10) numeric и ado в 77 очень не дружат. Так что приводи к другому типу в самом запросе.
|
|||
14
mishaPH
модератор
30.01.14
✎
15:44
|
(13) понятно. но мне более надо будет insert делать там как с типом. нумерик это вроде число. числа из 1с прокатит?
|
|||
15
mishaPH
модератор
30.01.14
✎
15:44
|
это так пробный коннект был
|
|||
16
ДенисЧ
30.01.14
✎
15:45
|
(14) прокатят. По крайней мере мелкософтный вполне принимал и автоматически кастовал.
|
|||
17
mishaPH
модератор
30.01.14
✎
15:45
|
(16) ок. попробую
|
|||
18
mishaPH
модератор
03.02.14
✎
07:14
|
В общем и селект и инсерт нормально работают.
при запросе типа селект. все значения в запросе тупо перевел в текст. все нормально прочиталось. С инсертом проблем небыло, даже ничего в текст не переводил. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |