• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

مشكل ثبت ترافيك كاربر در Nttacplus

networkstudent

کاربر تازه وارد
تاریخ عضویت
30 دسامبر 2003
نوشته‌ها
9
لایک‌ها
0
سلام
يه مشكل با Nttacplus دارم كه اگر كمك كنيد خيلي متشكر ميشم .
مشكل از اين قرار هست كه وقتي كاربرها خودشون disconnect مي كنن در ديتا بيس و در قسمت ميزان كاركرد Kbytesin & Kbytesout عدد صفر ثبت ميشه و وقتي از طرف RAS Server قطع ميشن مقدار درست كاركر اونا ثبت ميشه . يعني نميشه مقدار Send و Recieve كاربر رو در زماني كه خودش قطع ميكنه بدست آورد.
متشكر ميشم اگر راهنمايي كنيد.
 

iranexplorer.net

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
20 دسامبر 2003
نوشته‌ها
2,896
لایک‌ها
2,153
تعريفي كه براي سرويس كيلوبايتي انجام دادين درست نيست.

وقتي ميگين dc میشن از RAS Server منظورت اينه كه اونا رو kill مي كني يا حذف مي كني از روي خط؟ (kill line يا kill user )

يك نكته مهم اينكه اين مشكل شما هيچ ربطي به ديتابيس نداره. مشكل در تنظيمات Nttac هست.
 

networkstudent

کاربر تازه وارد
تاریخ عضویت
30 دسامبر 2003
نوشته‌ها
9
لایک‌ها
0
به نقل از iranexplorer.net :
تعريفي كه براي سرويس كيلوبايتي انجام دادين درست نيست.

وقتي ميگين dc میشن از RAS Server منظورت اينه كه اونا رو kill مي كني يا حذف مي كني از روي خط؟ (kill line يا kill user )

يك نكته مهم اينكه اين مشكل شما هيچ ربطي به ديتابيس نداره. مشكل در تنظيمات Nttac هست.

سلام
كاربراي من كيلوبايتي نيستند و همه ساعتي هستند و وقتی اونا رو از توی Remote Access قطع (disconnect) ميكنم توي ديتا بيس Accounting كه گزارش مصرف كاربرها رو ثبت ميكنه ميزان درست مصرف ثبت ميشه و زماني كه خود كاربر ها دي سي ميكنن اين كار انجام نميشه و صفر گزارش ميشه .و اصلا من از توي nttac اونا رو kill نميكنم .
مرسي از توجه شما
 

leona_ka

کاربر تازه وارد
تاریخ عضویت
16 دسامبر 2003
نوشته‌ها
28
لایک‌ها
0
من هم مثل اين مشكل را دارم فرقي نمي كنه كه user ساعتي باشه يا كيلو بايتي .وقتي RAS به طور دستي stop بشه كاركرد user را صفر نشان مي ده .اگر user خودش ارتباط را قطع كنه اين مشكل پيش نمي ياد .بايد تا آنجايي كه مي شه user را به صورت دستي dc نكرد .
 

aryagohar

کاربر تازه وارد
تاریخ عضویت
31 جولای 2003
نوشته‌ها
680
لایک‌ها
0
سن
46
محل سکونت
Iran
تو بعضي مواقع اين مشكل پبش مياد من هم اين مشكل رو دارم . ولي فكر نكنم مشكل حادي باشه
 

koorosh

Registered User
تاریخ عضویت
12 دسامبر 2002
نوشته‌ها
1,525
لایک‌ها
10
سن
42
محل سکونت
Iran - Tehran
اكثر دوستاني كه اينجا هستند از NTTacPlus بعنوان Accounting استفاده ميكنند. اگر سوالي داريد مطرح كنيد. تا جاييكه بتونيم در خدمتيم.
 

ssa1357

کاربر تازه وارد
تاریخ عضویت
10 نوامبر 2003
نوشته‌ها
152
لایک‌ها
0
سن
46
محل سکونت
Tehran-Iran
سلام آقا محمد . آقا محمد من خودمم جزو امنائيم كه از NTTacPlus استفاده مي كنم ولي اگه دقت كنين من راجع به NTTacPatch سوال كرده بودم. چون رسيده به دستم و كاربردش رو نمي دونم.
 

koorosh

Registered User
تاریخ عضویت
12 دسامبر 2002
نوشته‌ها
1,525
لایک‌ها
10
سن
42
محل سکونت
Iran - Tehran
اشتباه من رو ببخشيد. من سعي ميكنم امشب كمي در موردش توضيح بدم. (براتون كاربردي نداره!)
 

ssa1357

کاربر تازه وارد
تاریخ عضویت
10 نوامبر 2003
نوشته‌ها
152
لایک‌ها
0
سن
46
محل سکونت
Tehran-Iran
ممنون محمد جان ولي اگه چيزه بدرد بخوري نيست بيخيالش شو و بي خودي وقتتو صرفش نكن .
 

aryagohar

کاربر تازه وارد
تاریخ عضویت
31 جولای 2003
نوشته‌ها
680
لایک‌ها
0
سن
46
محل سکونت
Iran
كوروش جون. پس Tacasp چي شد. من مشتري پروپا قرص هستم. زودتر معرفي كن.
 

koorosh

Registered User
تاریخ عضویت
12 دسامبر 2002
نوشته‌ها
1,525
لایک‌ها
10
سن
42
محل سکونت
Iran - Tehran
اين Source همون NTTacPatch است. بخونش!
کارش اينه که مياد فرمت Data ها رو مرتب ميکنه! (من نميدونم چرا اين برنامه رو نوشتن!!!)


کد:
Private Sub Form_Activate()

'Declaring variables
Dim nMaxRecs, retval, nPrevious
Dim xmlDoc, strLog, retStr
Dim temp1, temp2, last, first, startCon, stopCon
Dim name, logDateCon, logTimeCon
Dim dbs As Database, rst As Recordset
Dim sqlStr1, sqlStr2, retKBLeft, iniKB

'initialize variables
Set xmlDoc = CreateObject("microsoft.xmldom")
xmlDoc.async = False
xmlDoc.Load ("c:\books.xml")
name = ""
logDateCon = ""
logTimeCon = ""
logDateDis = ""
logTimeDis = ""
logDuration = ""
BytesSent = ""
BytesReci = ""
nMaxRecs = 30 'maximum records to retrieve from event log

Set x = CreateObject("Softwing.EventLogReader")
retval = x.OpenLog(vbNullChar, "System")
n = x.GetFirst()
If IsEmpty(n) Then 'Test for empty event log is empty (error checking)
    Call Form_Terminate
End If
nPrevious = n

While nMaxRecs > 0

    'Test if the event ID is 6006 (error checking)
    If EvId = 6006 Then
        n = x.GetNext(EvId, EvType, strEvSource, EvDate)
    End If
    retval = x.GetRecord(n, EvId, EvType, strSource, EvDate, strComputer, strAccount, strDesc)

    If EvId = 20048 Then
        Set strLog = xmlDoc.createComment(strDesc)
        
        'Retrieving the user name
        temp1 = " connected on port "
        temp2 = "The user "
        last = InStr(1, strDesc, temp1, 1)
        first = Len(temp2)
        retStr = strLog.subStringData(first, (last - first))
        name = Trim(retStr)
        first = last
                
        'Retrieving log in Date
        temp1 = " at"
        last = InStr(first, strDesc, temp1, 1)
        first = last - 11
        retStr = strLog.subStringData(first, 11)
        logDateCon = retStr
        first = last
        
        'Retrieving log in time
        temp1 = " and"
        last = InStr(first, strDesc, temp1, 1)
        first = last - 8
        retStr = strLog.subStringData(first, 8)
        logTimeCon = retStr
        first = last
        startCon = logDateCon + logTimeCon
        
        'Retrieving log out date
        temp1 = " at"
        last = InStr(first, strDesc, temp1, 1)
        first = last - 11
        retStr = strLog.subStringData(first, 11)
        logDateDis = retStr
        first = last

        'Retrieving log out time
        temp1 = ".  The user"
        last = InStr(first, strDesc, temp1, 1) - 1
        first = last - 7
        retStr = strLog.subStringData(first, 7)
        logTimeDis = retStr
        first = last
        stopCon = logDateDis + logTimeDis
                
        'Retrieving log in Duration
        temp1 = "seconds."
        temp2 = "active for "
        last = InStr(first, strDesc, temp1, 1) + 8
        first = InStr(first, strDesc, temp2, 1) + 9
        retStr = strLog.subStringData(first, (last - first))
        logDuration = retStr
        first = last

        'Retrieving bytes sent
        temp1 = " bytes"
        temp2 = "seconds. "
        last = InStr(first, strDesc, temp1, 1)
        first = InStr(1, strDesc, temp2, 1) + 8
        retStr = strLog.subStringData(first, (last - first))
        BytesSent = retStr
        first = last
        
        'Retrieving bytes received
        temp1 = "sent and"
        temp2 = "bytes"
        first = InStr(first, strDesc, temp1, 1) + 8
        last = InStr(first, strDesc, temp2, 1) - 1
        retStr = strLog.subStringData(first, (last - first))
        BytesReci = retStr
        
        'Retriveing inital KBytes assign to a user from nttacdb remainder
        sqlStr2 = "TAC_ID = '" & name & "' and TAC_Attr = '" & "[Credits]TimeInitial'"
        With Data2.Recordset
            .MoveFirst
            .FindNext (sqlStr2)
            iniKB = .Fields(2)
        End With
        
        'Retriveing KBytes usage from nttacdb remainder
        sqlStr2 = "TAC_ID = '" & name & "' and TAC_Attr = '" & "[Credits]KBytesLeft'"
        With Data2.Recordset
            .MoveFirst
            .FindNext (sqlStr2)
            retKBLeft = .Fields(2)
        End With
        
        'test to see if the retKBLeft is numeric (error checking)
        If Not (IsNumeric(retKBLeft)) Then
            GoTo lastline
        End If
        'edit & update the NTTac and stat data base
        sqlStr1 = "Username = '" & name & "' and Start between #" & Format(startCon, "m/d/yyyy h:mm:ss AM/PM") & "# and #" & Format(stopCon, "m/d/yyyy h:mm:ss AM/PM") & "#"
        With Data1.Recordset
            .MoveLast
            .FindPrevious (sqlStr1)
            If (!KBytesIN = 0) And (!KBytesOut = 0) Then
                .Edit
                    !KBytesLeft = retKBLeft
                    !KBytesIN = Fix(BytesReci / 1000) + 1
                    !KBytesOut = Fix(BytesSent / 1000) + 1
                    !SessionKB = !KBytesIN + !KBytesOut
                    retKBLeft = retKBLeft - !SessionKB
                    If retKBLeft < 0 Then
                        '!KBytesLeft = 0
                        '!ExtraKB = !SessionKB - iniKB
                        !ExtraKB = -retKBLeft
                        !KBytesLeft = 0
                    Else
                        !KBytesLeft = retKBLeft
                    End If
                    'retKBLeft = !KBytesLeft
                .Update
                With Data2.Recordset
                    .Edit
                    .Fields(2) = Data1.Recordset.Fields(14)
                    .Update
                End With
            End If
        End With

   End If
lastline: 'goto  (lines 125)

    'next event log
   nPrevious = n
   nMaxRecs = nMaxRecs - 1
   n = x.GetNext(EvId, EvType, strEvSource, EvDate)
Wend

Call Form_Terminate
End Sub

Private Sub Form_Load()
   With Data1
        .DatabaseName = "C:\NTTacPlus2\ODBC\stat.mdb"
        .RecordsetType = 1
        .RecordSource = "Accounting"
        .ReadOnly = False
    End With
    With Data2
        .DatabaseName = "C:\NTTacPlus2\ODBC\NTTacDB.mdb"
        .RecordsetType = 1
        .RecordSource = "TAC_USR"
        .ReadOnly = False
     End With

End Sub

Private Sub Form_Terminate()
    End
End Sub


TACASP هم حالا هنوز کار داره!
اگه کارای ديگه بذارن! گوش شيطون کر يه دو هفته ای ميشه که خودم رو متمرکز کردم روش!
ولی بعيد ميدونم قبل از عيد تموم بشه. (آخه مثلا امروز از صبح رفتم بيرون يه جا Troubleshooting و يه جا هم يه شبکه راه انداختم، ساعت 11:30 شب رسيدم خونه!)

خودم که خيلی کيف ميکنم !!! خداييش ISPUtil هم بايد جلوش غاز بچرونه!!! (مادر قربون بچه اش بشه!!!)
به مدير واحد برنامه نويسی داده پردازان دوران نشونش دادم، گفت بيا Web اين ISPUtil رو بگير از اول آماده اش کن!!!
ولی فقط TACASP !!!
 

aryagohar

کاربر تازه وارد
تاریخ عضویت
31 جولای 2003
نوشته‌ها
680
لایک‌ها
0
سن
46
محل سکونت
Iran
تو همه چي قبولت داريم محمد جون. كارت درسته.
 

ssa1357

کاربر تازه وارد
تاریخ عضویت
10 نوامبر 2003
نوشته‌ها
152
لایک‌ها
0
سن
46
محل سکونت
Tehran-Iran
آقا محمد دستت درد نكنه . منم كه نفهميدم منظورشون از نوشتن يه همچين برنامه اي چي بوده :wacko: :blink: . در ضمن اينا فقط ديتا بيس هاي Access خود TacPlus رو در نظر گرفتن . منم كه دارم از SQL استفاده ميكنم و باهاش حال مي كنم. آقا شرمنده اگه بيخودي وقتتو سر اين تلف كردم :blush:

راستي آقا ما هم مشتاق ديدار TacASP هستيم :rolleyes: ايشالا كه زودي تمومش كني .
 

keyvan

کاربر تازه وارد
تاریخ عضویت
9 دسامبر 2003
نوشته‌ها
42
لایک‌ها
0
سلام آقا محمد
ما هم قبول داريم كه كارت خيلي درسته
حالا اين همه برنامه اي رو كه نوشتي بايد چي كارش كرد؟ :blink:
 

koorosh

Registered User
تاریخ عضویت
12 دسامبر 2002
نوشته‌ها
1,525
لایک‌ها
10
سن
42
محل سکونت
Iran - Tehran
مخلصيم، ولی کاشکی کارمون درست بود!!!

اون برنامه رو من ننوشتم که! بخون بالا رو ببين موضوع چی بوده! ssa1357 يه سوالی پرسيد، من هم جواب دادم. :)
 
بالا