|
|
|
ADO - два connection - общие данные?
|
|||
|---|---|---|---|
|
#18+
A97 Есть два ADODB.connection: одно к Oracle другое к .mdb как перекачивать данные из mdb Oracle? - открыв в каждом соединении по рекродсету? а дальше что? если нельзя, то как по-другому? ADO+Oracle - DAO+mdb? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 10:21:41 |
|
||
|
ADO - два connection - общие данные?
|
|||
|---|---|---|---|
|
#18+
ADODB.Stream ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 10:30:04 |
|
||
|
ADO - два connection - общие данные?
|
|||
|---|---|---|---|
|
#18+
см. также отсоединенный recordset ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 10:37:25 |
|
||
|
ADO - два connection - общие данные?
|
|||
|---|---|---|---|
|
#18+
Ох..неть до чего люди в своих исследованиях доходят, короче, изголяется кто, как может. Интересно как такая связка вообще работает, в смысле стабильности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 10:38:53 |
|
||
|
ADO - два connection - общие данные?
|
|||
|---|---|---|---|
|
#18+
Можно еще воспользоватся гетерогенными Jet запросами вот например как я заливаю данные из MSSQL в локальный MDB-к Dim dbe As DAO.DBEngine Dim db As DAO.Database Dim q As DAO.QueryDef Set dbe = New DAO.DBEngine If Dir(CurrentProject.Path + "\" + GetUserName() + "__tmpDSA_MJ.mdb", vbNormal) <> "" Then _ Kill CurrentProject.Path + "\" + GetUserName() + "__tmpDSA_MJ.mdb" Set db = dbe.Workspaces(0).CreateDatabase(CurrentProject.Path + "\" + GetUserName() + "__tmpDSA_MJ.mdb", dbLangGeneral) Set q = db.CreateQueryDef("spq") q.Connect = "ODBC;DRIVER={SQL Server};SERVER=" + GetServerName() + ";DATABASE=" + GetDBName() + ";Trusted_Connection=yes;dsn=;" q.SQL = "exec dbo.DSA_MJ_p '" + SQLDate(dtDateBeg()) + "','" + SQLDate(dtDateEnd()) + "'" q.Close db.Execute "select * INTO TmpWr1 from spq" Очевидно что для Oracle поменяется только строка q.Connect запрос к серверу можно использовать для обратной перекачки mdb->сервер но гетерогенные запросы сравнительно медленны т.к. выполняются клиентом мощность которого может быть ограничена поэтому я предпочитаю в этом случае получать доступ к MDB со стороны сервера используя вьюхи типа SELECT * FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Password="";User ID=Admin;Data Source=\\СетевойПуть\МойФайл.mdb;Mode=Share Deny Write;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False' )...[МояТаблица] Rowset_1 или линкованный сервер Есть ли такая возможность в Oracle я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 11:09:31 |
|
||
|
ADO - два connection - общие данные?
|
|||
|---|---|---|---|
|
#18+
извратишься не до того когда через ODBC перекачивает на сервер 10 записей/сек (при 100000 записей время посчитаешь сам ;) народ, а примерчик с ADO бы? читать таблицу mdb - > писать в ADO рекордсет, открытый к серверу? как это все вместе соединить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 11:42:11 |
|
||
|
ADO - два connection - общие данные?
|
|||
|---|---|---|---|
|
#18+
Например вот так Dim rsa As ADODB.Recordset Dim rsd As DAO.Recordset cnn.Execute "CREATE TABLE #DSA_TmpRep (MeetingID int NOT NULL ,MeetAdrDate smalldatetime NOT NULL,Sort_ID [int] IDENTITY (1, 1) NOT NULL)" Set rsd = Me.Recordset.Clone rsd.Filter = Me.Filter rsd.Sort = Me.OrderBy Set rsa = New ADODB.Recordset rsa.Open "#DSA_TmpRep", cnn, adOpenForwardOnly, adLockBatchOptimistic, adCmdTable Do While Not rsd.EOF rsa.AddNew Array("MeetingID", "MeetAdrDate"), _ Array(rsd!MeetingID, rsd!MeetAdrDate) rsd.MoveNext Loop rsa.UpdateBatch rsa.Close Set rsa = Nothing rsd.Close Set rsd = Nothing DoCmd.OpenReport "DSA_MJ_rep", acViewPreview cnn.Execute "drop table #DSA_TmpRep" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 16:00:40 |
|
||
|
ADO - два connection - общие данные?
|
|||
|---|---|---|---|
|
#18+
Было дело, перекачивал большие обьёмы данных из mdb в MySQL. Самый быстрый способ оказался следующим: - импортируем набор данных в текстовый файл из mdb; - посылаем запрос на сервер (MySQL), который закачивает данные из текстового файла; Загрузка происходила раз в 100 быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2004, 20:26:40 |
|
||
|
|

start [/forum/search_topic.php?author=mick79&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
5ms |
get forum list: |
23ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 1003ms |
| total: | 1132ms |

| 0 / 0 |
