|
|
|
Operation is not allowed when the object is closed
|
|||
|---|---|---|---|
|
#18+
Привет. Есть такой код (WSH, jscript): function GetInfoFromDatabase(sql_query) { var connect_sql = new ActiveXObject("ADODB.Connection"); connect_sql.open("Provider=SQLOLEDB.1;Data Source=SQLServerName;User ID=sa;Password=password;Initial Catalog='master'"); var ask = new ActiveXObject("ADODB.Recordset"); ask.open(sql_query, connect_sql); return (ask); } function ReadSQLquery (sql_file) { var fs = new ActiveXObject("Scripting.FileSystemObject"); var fso = fs.OpenTextFile(sql_file, 1); var string = fso.ReadAll() fso.Close(); return (string); } var count; var fs = new ActiveXObject("Scripting.FileSystemObject"); var fso = fs.OpenTextFile("results.txt", 8, true); var sql_query = ReadSQLquery ("main.sql"); var ask_db = new ActiveXObject("ADODB.Recordset"); ask_db = GetInfoFromDatabase(sql_query); ask_db.movefirst(); while (!ask_db.eof) { count = ask_db.Fields.count; for (i = 0; i < count; i++) { str=ask_db.Fields.Item(i); fso.WriteLine(str); } fso.WriteLine("####################"); ask_db.movenext(); } fso.Close(); WScript.Echo("Finished!") Содержимое файлa main.sql: select * from [MyDatabaseName].dbo.Events Код работает и выдает нужный результат. Но если я изменю содержимое файла main.sql на такое: use MyDatabaseName select * from dbo.Events ... то получу ошибку на вызове movefirst: Error: Operation is not allowed when the object is closed. Code: 800A0E78 Source: ADODB.Recordset Вопрос: в чем причина ошибки? На самом деле в main.sql хочется записать пару десятков операторов и в том числе работу с временными таблицами и курсорами. Возможно ли это? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 20:12 |
|
||
|
Operation is not allowed when the object is closed
|
|||
|---|---|---|---|
|
#18+
Ты хоть бы код программы оформлял тегами src ... ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:06 |
|
||
|
Operation is not allowed when the object is closed
|
|||
|---|---|---|---|
|
#18+
В том, что нельзя использовать произвольный набор команд в качестве источника данных рекордсета. Сначала connect_sql.Execute("use MyDatabaseName"); потом ask.open("select ...", connect_sql); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 11:45 |
|
||
|
Operation is not allowed when the object is closed
|
|||
|---|---|---|---|
|
#18+
AntonariyВ том, что нельзя использовать произвольный набор команд в качестве источника данных рекордсета. Сначала connect_sql.Execute("use MyDatabaseName"); потом ask.open("select ...", connect_sql); Antonariy, Помогло, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 12:51 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=34710017&tid=1457840]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
154ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 496ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...