2009-04-08 5 views
6

मेरा क्लाइंट SQL सर्वर डेटाबेस के सामने के अंत के रूप में एक्सेस का उपयोग कर रहा है। उन्होंने हाल ही में कुछ रिपोर्ट चलाते समय ओडीबीसी - 3146 त्रुटियों को समय-समय पर प्राप्त करना शुरू कर दिया। जो मैं बता सकता हूं, यह सिर्फ एक सामान्य ओडीबीसी कॉल विफल त्रुटि है।एमएसबी एक्सेस के साथ ओडीबीसी विफलता (त्रुटि 3146) का असली कारण निर्धारित करें?

मैंने रिपोर्ट लॉन्च करने वाली वीबी स्क्रिप्ट में कुछ त्रुटि हैंडलिंग चिपकने का प्रयास किया है, लेकिन मुझे कोई अतिरिक्त भाग्य प्राप्त करने में कोई भाग्य नहीं है।

कोड इस तरह थोड़ा दिखता है।

Public Function RunReports() 
    On Error GoTo MyErrorTrap 

    DoCmd.OpenReport "blah", acViewPreview 
    DoCmd.Close 

    DoCmd.OpenReport "foo", acViewPreview 
    DoCmd.Close 

Exit_function: 
    Exit Function 

MyErrorTrap: 
    Dim errX As DAO.Error 
    Dim MyError As Error 
    If Errors.Count > 1 'This always seems to be 0, so no help 
    For Each errX In DAO.Errors 'These are empty even if dont check for Errors.Count 
     Debug.Print "ODBC Error" 
     Debug.Print errX.Number 
     Debug.Print errX.Description 
    Next errX 
    Else 
    Debug.Print "VBA Error" 
    Debug.Print Err.Number 
    Debug.Print Err.Description 
    End If 

    'Also have tried checking DBEngine.Errors, but this is empty too 

End Function 

मैं भी ODBC तरफ अनुरेखण सक्रिय कर दिया है, लेकिन वह चीजों को नीचे बहुत ज़्यादा फंस गया है, और मैं अब तक असमर्थ ODBC त्रुटि पुनः बनाना हूँ।

मैं इसका निदान करने के सुझावों के लिए पूरी तरह से खुला हूं।

उत्तर

9

DbEngine.Errors संग्रह का उपयोग करें।

Sub Update_Temp() 
On Error GoTo ErrorTrap 
    ' Execute connect code at this point 
Exit_errortrap: 
    Exit Sub 
ErrorTrap: 
    Dim myerror As Error 
    For Each myerror In DBEngine.Errors 
     With myerror 
      If .Number <> 3146 Then 
       MsgBox .Description 
      End If 
     End With 
    Next 
    Resume Exit_errortrap 

End Sub 

इस कोड को सक्षम करने के लिए, सुनिश्चित करें कि वीबीए सेटिंग्स में त्रुटि है जो त्रुटि प्रबंधन चालू है।

+0

मेरा "त्रुटि" प्रकार नहीं है। नम्बर या डिस्क्रिप्शन - क्या कुछ अलग होना चाहिए? – AnotherParker

+0

मुझे लगता है कि आपकी त्रुटि शायद 'dbEngine' त्रुटि नहीं है। क्या आप कोई और जानकारी दे सकते हैं? शायद अपनी खुद की पोस्ट की जरूरत है। – Smandoli

संबंधित मुद्दे