Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите отладить скрипт / 21 сообщений из 21, страница 1 из 1
04.09.2002, 11:07:50
    #32047970
mmby
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
Пишет сообшение, что скрипт не уничтожает все объекты, которые открыл
Все перепробовал... ошибка такая же и остается, VB это исполняет , пишу то же самое в job(VBScriot) не работает, потерял на этом кучу времени, прошу помощи

function main()
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDrive = objFSO.GetDrive("C")
FreeSpace = objDrive.FreeSpace
capacity = objDrive.TotalSize

Set objFSO = Nothing
Set objDrive = Nothing

Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.GetFolder("\\anton\C$\back")
capacity1 = fldr.Size
Set fso = Nothing
Set fldr = Nothing

Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim fs, f
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("\\anton\c$\xxx.txt", 8, -2)
Dim Today
Today = Date
f.Writeline (Today&" "&freespace&" "&capacity1 )
f.Close*/

function main()

If (FreeSpace - capacity1 < 1000000000000000) Then
Dim oOutlook
Dim oMsg
Dim oRecipient
Dim oAttachment
Set oOutlook = CreateObject("Outlook.Application")
Set oMsg = oOutlook.CreateItem(0)
With oMsg
.Recipients.Add "xxx@xxxx.ru"
.Subject = "Предупреждение"
.Body = "Уважаемые сотрудники xxx предупреждаем Вас о том, сто разница свободного места на диск и размером базы SQL-Bank составила 1 GB" & vbCrLf & vbCrLf
oMsg.send
End With
Set oOutlook = Nothing
Set oMsg = Nothing
End If
End Function
...
Рейтинг: 0 / 0
04.09.2002, 11:18:29
    #32047975
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
0. Что меня умиляет, так это то, что никто никогда не соизволит привести текст сообщения об ошибке и ее номер

1. Зачем три раза создавать экземпляр одного и того-же объекта (objFSO, fso, fs)? Обычно объект используется один в модуле (или даже в приложении), в зависимости от частоты его использования.

2. При завершении модуля легче прихлопнуть один объект

3. У тебя же создано 3 экземпляра, а прихлопнул только objFSO

4. Не понятно, почему 2 функции Main
...
Рейтинг: 0 / 0
04.09.2002, 11:20:18
    #32047978
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
function main()
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDrive = objFSO.GetDrive("C")
FreeSpace = objDrive.FreeSpace
capacity = objDrive.TotalSize

Set objFSO = Nothing
Set objDrive = Nothing

Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.GetFolder("\\anton\C$\back")
capacity1 = fldr.Size
Set fso = Nothing
Set fldr = Nothing

Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim fs, f
Set fs = CreateObject("Scripting.FileSystemObject") - остался открытым

Set f = fs.OpenTextFile("\\anton\c$\xxx.txt", 8, -2)
Dim Today
Today = Date
f.Writeline (Today&" "&freespace&" "&capacity1 )
f.Close*/
конец ф-ции? Вроде 2 main не бывает
function main()

If (FreeSpace - capacity1 < 1000000000000000) Then
Dim oOutlook
Dim oMsg
Dim oRecipient
Dim oAttachment
Set oOutlook = CreateObject("Outlook.Application")
Set oMsg = oOutlook.CreateItem(0)
With oMsg
.Recipients.Add "xxx@xxxx.ru"
.Subject = "Предупреждение"
.Body = "Уважаемые сотрудники xxx предупреждаем Вас о том, сто разница свободного места на диск и размером базы SQL-Bank составила 1 GB" & vbCrLf & vbCrLf
oMsg.send
End With
Set oOutlook = Nothing
Set oMsg = Nothing
End If
End Function
...
Рейтинг: 0 / 0
04.09.2002, 11:22:42
    #32047981
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
2 Maxx

Прямо подметки рвешь :0)
...
Рейтинг: 0 / 0
04.09.2002, 11:34:17
    #32047984
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
2Jimmy
Когда начал отвечать Вашего ответа не было:)))Он просто не успел загрузиться ко мне. Простите если Вас задел.
...
Рейтинг: 0 / 0
04.09.2002, 11:36:47
    #32047986
mmby
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
Хорошо, там про main это последствие отладки
и теперь не работает:
Error #14277 th command script Does not destroy all objects thet create

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDrive = objFSO.GetDrive("C")
FreeSpace = objDrive.FreeSpace
capacity = objDrive.TotalSize
Set objFSO = Nothing
Set objDrive = Nothing

Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.GetFolder("\\anton\C$\back")
capacity1 = fldr.Size
Set fso = Nothing
Set fldr = Nothing

Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim fs, f
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("\\anton\c$\xxx.txt", 8, -2)

Set fs = Nothing

Dim Today
Today = Date
f.Writeline (Today&" "&freespace&" "&capacity1 )
f.Close
If (FreeSpace - capacity1 < 100000000) Then
Dim oOutlook
Dim oMsg
Dim oRecipient
Dim oAttachment
Set oOutlook = CreateObject("Outlook.Application")
Set oMsg = oOutlook.CreateItem(0)
With oMsg
.Recipients.Add "xxx@xxxx.ru"
.Subject = "Ïðåäóïðåæäåíèå"
.Body = "Óâàæàåìûå ñîòðóäíèêè xxx ïðåäóïðåæäàåì Âàñ î òîì, ñòî ðàçíèöà ñâîáîäíîãî ìåñòà íà äèñê è ðàçìåðîì áàçû SQL-Bank ñîñòàâèëà 1 GB" & vbCrLf & vbCrLf
oMsg.send
End With
Set oOutlook = Nothing
End If
...
Рейтинг: 0 / 0
04.09.2002, 11:47:18
    #32047989
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
Set f = fs.OpenTextFile("\\anton\c$\xxx.txt", 8, -2)
Set fs = Nothing

Етот Nothing перенеси на 4 строки ниже + помоему све что Set требует вызова деструктора
...
Рейтинг: 0 / 0
04.09.2002, 11:49:31
    #32047991
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
2 Maxx

Нет, не обидел.
Давай уж на брудершафт (в одном отделении все же лечимся:0).

2 mmby

Возможно, нужно Set oMsg = nothing вставить.

А вообще, я бы попробовал скрипт запустить без блока отправки сообщения (просто заккоментировал бы).
Таким образом, видно было бы, где мусор остается.
...
Рейтинг: 0 / 0
04.09.2002, 11:50:32
    #32047992
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
My 2 cents:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Option Explicit

Const ForReading =  1 , ForWriting =  2 , ForAppending =  3  

Dim fso, objDrive, f, fldr
Dim FreeSpace, Capacity, Capacity1
Dim oOutlook, oMsg 

Set fso = CreateObject( "Scripting.FileSystemObject" ) 
 
Set objDrive = fso.GetDrive( "C" ) 
FreeSpace = objDrive.FreeSpace 
' NOT USED?
Capacity  = objDrive.TotalSize 
Set objDrive = Nothing 

Set fldr = fso.GetFolder( "\\anton\C$\back" ) 
Capacity1 = fldr.Size 
Set fldr = Nothing 

Set f = fso.OpenTextFile( "\\anton\c$\xxx.txt" ,  8 , - 2 ) 
f.Writeline (Date() &  " "  & FreeSpace &  " "  & Capacity1 )
f.Close
Set f = Nothing

If (FreeSpace - capacity1 <  100000000 ) Then 
  Set oOutlook = CreateObject( "Outlook.Application" ) 
  Set oMsg = oOutlook.CreateItem( 0 ) 
  oMsg.Recipients.Add  "xxx@xxxx.ru"  
  oMsg.Subject =  "AAAAAAAAA"  
  oMsg.Body =  "BBBBBBBBBBBBBBBBBBBBBBBBBBBB 1  GB" & vbCrLf & vbCrLf 
  oMsg.Send 
  Set oMsg = Nothing
  Set oOutlook = Nothing 
End If
...
Рейтинг: 0 / 0
04.09.2002, 12:10:32
    #32048002
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
2jimmers
Set fso = CreateObject("Scripting.FileSystemObject") ,а закрыть:))))
2Jimmy
Ну давай по маленькой.........хорошо пошла:)))
...
Рейтинг: 0 / 0
04.09.2002, 12:16:49
    #32048003
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
2Maxx: Благодарю за замечание. Вы правы, забыл Set fso = Nothing. Хотя SQL Server не ругается на это. Одним словом, посыпаю голову пеплом :)

Строку 13 (' NOT USED?) необходимо убрать, просто обратить внимание...

Удачи
...
Рейтинг: 0 / 0
04.09.2002, 12:18:15
    #32048005
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
2 Maxx

Да-а, неплохо ;0)
...
Рейтинг: 0 / 0
04.09.2002, 12:51:51
    #32048019
mmby
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
to jimmers:
Снимаю шляпу, спасибо.... Я бы и сам мог, но как сразу начнешь "лепить"... так ничего не получается :)
...
Рейтинг: 0 / 0
04.09.2002, 13:51:25
    #32048050
mmby
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
И тем неменее Job filed... :(
...
Рейтинг: 0 / 0
04.09.2002, 13:55:11
    #32048052
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
Так файл не пишется или почта не отправляеться?
...
Рейтинг: 0 / 0
04.09.2002, 14:14:21
    #32048063
mmby
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
не работает отправка почты( я разбил на два), стоит Outlook 2000, и не посылает (в зависимости от того под кем стартует SQL SErver Agent , Job то просто зависает(executing step1), то Filed
...
Рейтинг: 0 / 0
04.09.2002, 14:35:08
    #32048074
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
А на серваке Outlооk установлен,настроен как почтовая прграмма , из него просто руками почту отправить можно?
...
Рейтинг: 0 / 0
04.09.2002, 14:40:30
    #32048080
mmby
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
Да, все проверено, мой комп -тестовый SQL-сервер, не нем и работаю....Там какая то фигня с MAPi32.DLL, я слышал, никто не знает где это можно почитать?
...
Рейтинг: 0 / 0
04.09.2002, 14:47:25
    #32048087
mmby
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
Е еще, пакет дтс, с тем же самым текстом выполняется успешно и посылает. При этом нужно ,чтоб OUTLOOK был открыт.
...
Рейтинг: 0 / 0
04.09.2002, 16:54:18
    #32048170
mmby
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
И еще, рушится OUTLOOK при попытке выполнить job,
...
Рейтинг: 0 / 0
04.09.2002, 17:26:27
    #32048193
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отладить скрипт
Посмотри в "Просто трепе" там есть топик называется "Разыскиваются добровольцы" от А.Гладченко,там есть линка на все статьи. Просто ,помоему,тебе ету *.dll нужно пернести в другое место,а куда к сожалению не помню:( Читал гдето в рассылке , но к сожалению не могу всомнить ,а там точно есть.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите отладить скрипт / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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