powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите отладить скрипт
21 сообщений из 21, страница 1 из 1
помогите отладить скрипт
    #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
помогите отладить скрипт
    #32047975
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0. Что меня умиляет, так это то, что никто никогда не соизволит привести текст сообщения об ошибке и ее номер

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

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

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

4. Не понятно, почему 2 функции Main
...
Рейтинг: 0 / 0
помогите отладить скрипт
    #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
помогите отладить скрипт
    #32047981
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Maxx

Прямо подметки рвешь :0)
...
Рейтинг: 0 / 0
помогите отладить скрипт
    #32047984
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Jimmy
Когда начал отвечать Вашего ответа не было:)))Он просто не успел загрузиться ко мне. Простите если Вас задел.
...
Рейтинг: 0 / 0
помогите отладить скрипт
    #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
помогите отладить скрипт
    #32047989
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Set f = fs.OpenTextFile("\\anton\c$\xxx.txt", 8, -2)
Set fs = Nothing

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

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

2 mmby

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

А вообще, я бы попробовал скрипт запустить без блока отправки сообщения (просто заккоментировал бы).
Таким образом, видно было бы, где мусор остается.
...
Рейтинг: 0 / 0
помогите отладить скрипт
    #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
помогите отладить скрипт
    #32048002
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2jimmers
Set fso = CreateObject("Scripting.FileSystemObject") ,а закрыть:))))
2Jimmy
Ну давай по маленькой.........хорошо пошла:)))
...
Рейтинг: 0 / 0
помогите отладить скрипт
    #32048003
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Maxx: Благодарю за замечание. Вы правы, забыл Set fso = Nothing. Хотя SQL Server не ругается на это. Одним словом, посыпаю голову пеплом :)

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

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

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


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