INSERT INTO и два соединения - VB
Формулировка задачи:
Добрый день всем !
Подскажите пожалуйста, есть ли быстрый способ заливки данных из одной таблицы в другую , вроде этого:
cn.Execute "INSERT INTO Table1 (Item1,Item2,Item3,Item4) " & _
" SELECT Item1,Item2,Item3,Item4 FROM Table2 "
но используя два соединения. Так как выборка данных второй таблицы идет с удаленного сервера. Обе таблицы с одинаковой структурой. Или всетаки придется открывать recordset со вторым соединением и в цикле добавлять его в первую ?
Спасибо.
Подскажите пожалуйста, есть ли быстрый способ заливки данных из одной таблицы в другую , вроде этого:
cn.Execute "INSERT INTO Table1 (Item1,Item2,Item3,Item4) " & _
" SELECT Item1,Item2,Item3,Item4 FROM Table2 "
но используя два соединения. Так как выборка данных второй таблицы идет с удаленного сервера. Обе таблицы с одинаковой структурой. Или всетаки придется открывать recordset со вторым соединением и в цикле добавлять его в первую ?
Спасибо.
Решение задачи: «INSERT INTO и два соединения»
textual
Листинг программы
<font color="blue">Function</font> CopyData(sql <font color="blue">As</font> <font color="blue">String</font>, cnFrom <font color="blue">As</font> ADODB.Connection, cnTo <font color="blue">As</font> ADODB.Connection) <font color="blue">As</font> <font color="blue">Boolean</font> <font color="blue">Dim</font> rs <font color="blue">As</font> <font color="blue">New</font> ADODB.Recordset <font color="blue">Dim</font> st <font color="blue">As</font> <font color="blue">New</font> ADODB.Stream <font color="blue">Dim</font> s <font color="blue">As</font> <font color="blue">String</font> <font color="blue">On</font> <font color="blue">Error</font> <font color="blue">GoTo</font> errh: rs.<font color="blue">Open</font> sql, cnFrom, adOpenStatic, adLockBatchOptimistic st.<font color="blue">Type</font> = adTypeText st.<font color="blue">Open</font> rs.Save st, adPersistXML rs.<font color="blue">Close</font> s = st.ReadText st.<font color="blue">Close</font> s = Replace(s, _ <font color="teal">"rs:basecatalog='"</font> & cnFrom.Properties(<font color="teal">"Current Catalog"</font>).Value & <font color="teal">"'"</font>, _ <font color="teal">"rs:basecatalog='"</font> & cnTo.Properties(<font color="teal">"Current Catalog"</font>).Value & <font color="teal">"'"</font>) s = Replace(s, <font color="teal">"<rs:data>"</rs:data></font>, <font color="teal">"<rs:data><rs:insert>"</rs:insert></rs:data></font>) s = Replace(s, <font color="teal">""</font>, <font color="teal">""</font>) st.<font color="blue">Open</font> st.WriteText s st.Position = <font color="darkblue"><b>0</b></font> rs.<font color="blue">Open</font> st <font color="blue">Set</font> rs.ActiveConnection = cnTo rs.UpdateBatch rs.<font color="blue">Close</font> CopyData = True errh: <font color="blue">End</font> <font color="blue">Function</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д