powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ADODB.Connection и XMLTOCURSOR
11 сообщений из 11, страница 1 из 1
ADODB.Connection и XMLTOCURSOR
    #38141366
Semen81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!!! Замучился уже. В VFP 9 использую ADODB для получения данных из оракла и получившуюся выборку скидываю в курсор с помощью XMLTOCURSOR
Код: sql
1.
2.
3.
4.
CREATE CURSOR temp_prix_wms (isn c(10), isnd c(10), kol n(10))
loXML = CREATEOBJECT('MSXML.DOMDocument') 
oResult.Save(loXML, 1) 
XMLTOCURSOR(loXML.xml, 'temp_prix_wms', 8192) 


Так мои мучения заключаются в том, что один и тот же запрос, который выполняется через ADODB.Command и в среде оракл возвращает разные результаты. Правильные те, что получаются в среде оракл. А в FOX такое ощущение, что цепляются какие-то старые данные, которые участвовали в предыдущих выборках. Куда копать? Всем спасибо
...
Рейтинг: 0 / 0
ADODB.Connection и XMLTOCURSOR
    #38141372
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Semen81,
а чем вызван такой, прямо скажем, необычный способ общения с сервером?
...
Рейтинг: 0 / 0
ADODB.Connection и XMLTOCURSOR
    #38141385
Semen81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov,
)) Не могу ответить. Просто так сделал. Через ODBC все норм работало, за исключением постоянно открывающегося окна для ввода пользователя и пароля, а через ADO программа может работать в теневом режиме.

На всякий случай напишу полный код
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
oConn=CREATEOBJECT("ADODB.Connection")
oConn.ConnectionString="строка подключения"
oConn.Open()

LOCAL oCmd AS ADODB.Command, oResult AS ADODB.Recordset 
LOCAL loXML as MSXML.DOMDocument 

oCommand=CREATEOBJECT("ADODB.Command")
oCommand.ActiveConnection=oConn
oCommand.CommandType = 1 
oCommand.CommandTimeout = 0 

CREATE CURSOR temp_prix_wms (isn c(10), isnd c(10), kol n(10))
oCommand.CommandText="SELECT ..... "
oResult=oCommand.Execute()
loXML = CREATEOBJECT('MSXML.DOMDocument') 
oResult.Save(loXML, 1) 
XMLTOCURSOR(loXML.xml, 'temp_prix_wms', 8192) 
oResult.Close() 
...
Рейтинг: 0 / 0
ADODB.Connection и XMLTOCURSOR
    #38141519
Semen81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Переделал все на это
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE CURSOR temp_prix_wms (isn c(10), isnd c(10), kol n(10))
oConn=CREATEOBJECT("ADODB.Connection")
oConn.ConnectionString="строка подключения"
oConn.Open()
rs=CREATEOBJECT("ADODB.Recordset")
rs.Open ("select .....", oConn, 1, 3)
rs.MoveFirst
DO WHILE !rs.Eof()
	INSERT INTO temp_prix_wms (isn, isnd, kol) VALUES(rs.Fields("isn").Value, rs.Fields("isnd").Value, rs.Fields("kol").Value)
	rs.MoveNext
ENDDO



Все равно возвращает не то что в оракле. RecordSet возвращает 37452 записи, а в оракле 16199. ЗАПРОС ОДИН И ТОТ ЖЕ Что он тащит такое?
...
Рейтинг: 0 / 0
ADODB.Connection и XMLTOCURSOR
    #38141523
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Semen81Через ODBC все норм работало, за исключением постоянно открывающегося окна для ввода пользователя и пароля
Это легко лечится
Код: sql
1.
SQLSETPROP(0,"DispLogin",3)
...
Рейтинг: 0 / 0
ADODB.Connection и XMLTOCURSOR
    #38141525
Semen81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может он дату воспринимает как-то по другому, не как в среде оракл? Поэтому и тянет мне записи не за указаный диапазон а за гораздо больший? Только чтоб это проверить не понимаю как тогда дату написать
...
Рейтинг: 0 / 0
ADODB.Connection и XMLTOCURSOR
    #38141528
Semen81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TSemen81Через ODBC все норм работало, за исключением постоянно открывающегося окна для ввода пользователя и пароля
Это легко лечится
Код: sql
1.
SQLSETPROP(0,"DispLogin",3)



Сейчас попробую. Если получится забуду как страшный сон этот ADO с RecordSet-ом
...
Рейтинг: 0 / 0
ADODB.Connection и XMLTOCURSOR
    #38141537
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно еще это пригодится
Код: sql
1.
SQLSETPROP(0,"DispWarnings",.F.)


Тут полный список: help SQLSETPROP()
...
Рейтинг: 0 / 0
ADODB.Connection и XMLTOCURSOR
    #38141708
Semen81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал вот так и все стало хорошо и быстро

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
LOCAL lnHandle as Integer 
LOCAL loMyCA as CursorAdapter
lnHandle = SQLSTRINGCONNECT("строка подключения", .T.)
loMyCA = CREATEOBJECT("CursorAdapter")
WITH loMyCA
	.DataSourceType = "ODBC"
	.DataSource = lnHandle
	.SelectCmd = "select ..."
	.CursorSchema = "isn C(10), isnd C(10), kol N(10)"
	.Alias = "temp_prix_wms"
	.FetchMemo = .F.
	.MapVarchar = .T.
	.MapBinary = .T.
	.UseCursorSchema = .T.
	.FetchAsNeeded = .F.
	IF .CursorFill()
		SELECT * FROM temp_prix_wms INTO CURSOR wms_prix
	ENDIF
ENDWITH 

=SQLDISCONNECT(lnHandle)
...
Рейтинг: 0 / 0
ADODB.Connection и XMLTOCURSOR
    #38141828
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталось выяснить назначение этой команды.
Semen81
Код: sql
1.
		SELECT * FROM temp_prix_wms INTO CURSOR wms_prix


Почему нельзя сразу в wms_prix? Зачем лишний курсор?
...
Рейтинг: 0 / 0
ADODB.Connection и XMLTOCURSOR
    #38145734
Semen81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey SizovОсталось выяснить назначение этой команды.
Semen81
Код: sql
1.
		SELECT * FROM temp_prix_wms INTO CURSOR wms_prix


Почему нельзя сразу в wms_prix? Зачем лишний курсор?

Да это я сделал потому, что после заполнения курсора tmp_prix_wms он почему то не отображается, а как будто закрывается )) Не стал долго разбираться в чем дело и что я опустил, а сделал SELECT
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ADODB.Connection и XMLTOCURSOR
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]