|
v7: Как отконектится от ADODB ? | ☑ | ||
---|---|---|---|---|
0
DES
09.05.13
✎
17:25
|
Connection = CreateObject("ADODB.Connection");
подключаюсь к базе1 Все нормально. отконекчивась. Connection.Close(); Connection = 0; Connection = CreateObject("ADODB.Connection"); Если хочу отключиться и подключиться к такой же, но другой. Ругается что база занята. Мне в цикле нужно перебрать десяток баз. Как реализовать ? |
|||
1
Ковычки
09.05.13
✎
17:27
|
не убивать объект ?
|
|||
2
DES
09.05.13
✎
17:35
|
Всмысле ?
//Connection = 0; так - тоже самое. |
|||
3
DES
09.05.13
✎
17:42
|
Microsoft OLE DB Provider for ODBC Drivers: [ODBC Firebird Driver]operating system directive CreateFile failed
Процесс не может получить доступ к файлу, так как этот файл занят другим процессом. |
|||
4
Jaap Vduul
09.05.13
✎
19:59
|
(3)
Так может и в самом деле файл занят другим процессом? Или вот, например, так бывает: http://tracker.firebirdsql.org/browse/CORE-3558 |
|||
5
Svetka
09.05.13
✎
20:37
|
(0) вот можно покурить:
про ADO http://www.askit.ru/custom/progr_admin/m13/13_01_ado_basics.htm подключение с обходом recordset http://www.progmans.net/1s/113-1s77-soedinenie-s-sql-server-podklyuchenie-k-sql-server-adodb-connection-recordset-activeconnection-pryamoj-sql-zapros-k-baze-obxod-rekordseta.html http://pro1c.org.ua/index.php?showtopic=2111 |
|||
6
DES
09.05.13
✎
22:47
|
СПС. Это все скурено уже.
Похоже на то что драйвер ADODB одноразовый. Даже если вызвать обработку 2-й раз но с другой строкой подключения, то вылетает по ошибке. |
|||
7
DES
09.05.13
✎
22:49
|
(4) нет, не занят
|
|||
8
Torquader
09.05.13
✎
23:37
|
Попробуй через "вставку" на VbScript - с ним ADODB работает достаточно стабильно, и в VbScript есть команда Erase для превращения объекта в неизвестно что.
|
|||
9
DES
10.05.13
✎
11:21
|
(8) подскажи рыбу
|
|||
10
DES
10.05.13
✎
12:03
|
(8) Да. Спасибо.
VBS - отработало как нужно. |
|||
11
DES
10.05.13
✎
12:06
|
Dim Connection
Dim sql_query Dim objFSO, objOutFile Dim intCount, i Set objFSO = CreateObject("Scripting.FileSystemObject") Set objOutFile = objFSO.OpenTextFile("T:\label.txt", 8, True) sql_query = "Select id,n,cp from label where year=2013" set Connection = CreateObject("ADODB.Connection") Connection.ConnectionString = "Driver=Firebird/InterBase(r) driver;Dbname=T:\BD1.GDB;CHARSET=NONE;PWD=masterkey;UID=SYSDBA;Client=T:\gds32.dll" Connection.Open objOutFile.Write Connection.Properties.Item(0).Name & " = " & Connection.Properties.Item(0).Value & vbCrLf Set RecordSet = Connection.execute(sql_query) intCount = RecordSet.Fields.Count do while not RecordSet.eof objOutFile.Write RecordSet.Fields(0).Value & " " & RecordSet.Fields(1).Value & " " & RecordSet.Fields(2).Value & vbCrLf RecordSet.MoveNext loop Connection.close Connection.ConnectionString = "Driver=Firebird/InterBase(r) driver;Dbname=T:\BD2.GDB;CHARSET=NONE;PWD=masterkey;UID=SYSDBA;Client=T:\gds32.dll" Connection.Open objOutFile.Write Connection.Properties.Item(0).Name & " = " & Connection.Properties.Item(0).Value & vbCrLf Set RecordSet = Connection.execute(sql_query) intCount = RecordSet.Fields.Count do while not RecordSet.eof objOutFile.Write RecordSet.Fields(0).Value & " " & RecordSet.Fields(1).Value & " " & RecordSet.Fields(2).Value & vbCrLf RecordSet.MoveNext loop Connection.close |
|||
12
Ковычки
10.05.13
✎
12:07
|
странно
|
|||
13
DES
10.05.13
✎
12:40
|
Все понятно, не в этом дело , а в том что я вызываю библиотеку драйвера из того же каталога что и база.
Этот файл как раз и занят. Если его вызывать из одного любого каталога то все работает штатно. Connection.ConnectionString = "Driver=Firebird/InterBase(r) driver;Dbname=Т:\ + СокрЛП(Кат_GDB) + "\BD.GDB" + ";CHARSET=NONE;PWD=masterkey;UID=SYSDBA;Client=T:\gds32.dll"; а так не хочет: Connection.ConnectionString = "Driver=Firebird/InterBase(r) driver;Dbname=Т:\ + СокрЛП(Кат_GDB) + "\BD.GDB" + ";CHARSET=NONE;PWD=masterkey;UID=SYSDBA;Client=Т:\ + СокрЛП(Кат_GDB) + "\gds32.dll"; |
|||
14
DES
10.05.13
✎
13:12
|
нужно выгружать DLL
Делаю >tasklist /M gds32.dll Вызывается окно завершения 1С. |
|||
15
Ковычки
10.05.13
✎
13:14
|
самомо собой, причину
|
|||
16
DES
10.05.13
✎
13:18
|
причина taskkill /FI "MODULES eq gds32.dll"
|
|||
17
Ковычки
10.05.13
✎
13:25
|
(16) надо найти в чем разница
|
|||
18
Ковычки
10.05.13
✎
13:28
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |