Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

COM class factory error στον SQL 2005 απο c sharp clr procedure

Îåêßíçóå áðü ôï ìÝëïò Haribalos. Τελευταία δημοσίευση από το μέλος KelMan στις 11-06-2008, 23:13. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  11-06-2008, 19:00 42821

    COM class factory error στον SQL 2005 απο c sharp clr procedure

    Καλησπέρα σε όλους ,

    Εχω προσπαθήσει να υλοποιήσω το εξής , εχω φτιάξει ενα store procedure σε c sharp το οποιο καλεί ενα COM object για να μπορεί να μιλάει απευθείας με ένα άλλο συστημα διαχείρησης.
    Αρχίκα για να μπορέσω να δω το dll και να το κάνω import στην sp  μου έκανα add ένα c sharp wrapper στον sql  με την create assembly και με set = unsafe και αφού είχα κάνει όλα τα σχετικά στην βάση όσο αφορά
    το allow clr ... και για την ώρα το set trustworthy on μέχρι να δώ οτι θα παίξει και μετά θα το άλλαζα με ενα νέο login και ενα sn key κλπ.

    Ολα καλά μέχρι εδώ ,  η sp μου γινεται deploy στον sql server (2005) αλλά όταν το τρέχω μου εμφανίζει το εξής λαθος :

    "Retrieving the COM class factory for component with CLSID {5D80A7F2-D643-11D2-A233-00A0CC3AD9CD} failed due to the following error: 800700c1."

    Εχω κάνει install το πακέτο που δίνει ο vendor για το deployment του συγκεκριμένου SDK και εχω ψάξει στην register για το συγκεκριμένο CLSID το οποιο το βρίσκω και στο HKCR\CLSID\ και το έκανα και add και στο HKCR\Wow6432Node\CLSID\
    και το InprocServer32 δείχνει το path που είναι το dll που θέλει ο wrapper.
    Επισης το deployment της sp στον SQL server είναι CPU : Any CPU , αν το κάνω compile σε x86 τοτε μου βγάζει το παρακάτω error :

    Msg 10314, Level 16, State 11, Line 4

    An error occurred in the Microsoft .NET Framework while trying to load assembly id 65558. The server may be running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE. Run the query again, or check documentation to see how to solve the assembly trust issues. For more information about this error:

    System.IO.FileLoadException: Could not load file or assembly 'billinginterface, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)

    System.IO.FileLoadException:

    at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)

    at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)

    at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)

    at System.Reflection.Assembly.Load(String assemblyString)

    Στο assemblyInfo.cs έχω επίσης το [assembly: ComVisible(true)] αν αυτό παίζει κάποιο ρόλο.

    Εχει κανείς καμιά ιδέα να ρίξει γιατί δεν βγάζω άκρη. Να αναφέρω βέβαια ότι το dll εχει unmanaged code αλλα από όσο έχω διαβάσει με unsafe mode δεν έχει πρόβλημα να το υποστηρίξει ο SQL.

    Το μηχάνημα που γίνεται deploy ειναι 64bito με 2003 Server.

    Ευχαριστώ εκ των προτέρων.

     

  •  11-06-2008, 22:09 42823 σε απάντηση της 42821

    Απ: COM class factory error στον SQL 2005 απο c sharp clr procedure

    Τελικά όταν το έστησα σε 32bit σύστημα με 32bit SQL και έπαιξε μια χαρά , παρόλα αυτά σε 64bit δεν παίζει και στην microsoft δεν βρίσκω κάποια απάντηση.

    Ευχαριστώ για το ενδιαφέρον.
  •  11-06-2008, 23:13 42825 σε απάντηση της 42823

    Απ: COM class factory error στον SQL 2005 απο c sharp clr procedure

    Υποθέτω δεν έχει να κάνει τόσο με τον SQL Server... Λογικά την ίδια συμπερριφορά θα πρέπει να έχεις αν προσπαθήσεις να χρησιμοποιήσεις αυτό το COM component σε 64bit περιβάλλον, μέσα από ένα απλό client app που θα φτιάξεις.


    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems