Error while saving in the Reverse Engineering dialog

Thread is closed for posting
13 posts, 0 answers
  1. Alex
    Alex avatar
    10 posts
    Member since:
    Feb 2009

    Posted 16 Mar 2009 Link to this post

    Hi,

    I am trying the new version of Open Access (Telerik_OpenAccess_ORM_2009_1_311_trial) and when I press "Save Config" or "Generate & Save Config" I always get this error :

    Following error occured while saving the settings: 
    The data "" is not legal for a JDOM attribute: A null is not legal XML value. 

    I tried to select every table, only one table and no table and I still get the same error.  I asked a colleague to try the new Open Access and he gets the error.  This is with a new solution with only one project that contains only an app.config file.

    Regards,
    AlexD


  2. Ady
    Admin
    Ady avatar
    589 posts

    Posted 17 Mar 2009 Link to this post

    Hi Alex,

     We cannot reproduce this behaviour locally. This is not a known problem and hence we will need to do some analysis  to get to the cause.

    Can you describe the steps to reproduce the error? Did you try saving the config with the default values?

    Alternatively you could use the CLR debugger to execute Visual Studio and try and reproduce the problem? So here is what you can do -
    1. Open the CLR debugger - dbgCLR.exe, and specify the Visual Studio executable as the 'Program to Debug'
    2. Go to the 'Debug->Exceptions' menu item and check the 'CLR exceptions thrown' checkbox
    3. In the debugging options (available via Tools->Options->Debugging) uncheck the 'Enable Just My Code' option
    4. You can now start debugging and execute the steps that reproduce the error and send us the call stack if you get an exception when trying to save the settings.

    Greetings,
    Ady
    the Telerik team


    Instantly find answers to your questions on the new Telerik Support Portal.
    Check out the tips for optimizing your support resource searches.
  3. Alex
    Alex avatar
    10 posts
    Member since:
    Feb 2009

    Posted 17 Mar 2009 Link to this post

    Hi,

    This is the step I used to reproduce the error :

    1)    Create a new solution with a new project (I tried with a WinForm and Class Library)
    2)    Enable Telerik on the new project (with only persistent classes)
    3)    Configure the connection information (in my case, to MSSQL2008)
    4)    Open the reverse mapping dialog
    5)    Press “Save Config”

    I get the following call stack. Is this what you were looking for (I didn't see an option to create a "dump" in CLR Debugger) ?

     
        Telerik.OpenAccess.SDK.dll!Telerik.OpenAccess.Sdk.Dom.Attribute.setValue(string value_Renamed = null) + 0x70 bytes   
        Telerik.OpenAccess.SDK.dll!Telerik.OpenAccess.Sdk.Dom.Attribute.Attribute(string name = "method"string value_Renamed = nullint type = 0, Telerik.OpenAccess.Sdk.Dom.Namespace namespace_Renamed = {[Namespace: prefix "" is mapped to URI ""]}) + 0x39 bytes     
        Telerik.OpenAccess.SDK.dll!Telerik.OpenAccess.Sdk.Dom.Attribute.Attribute(string name = "method"string value_Renamed = null) + 0x31 bytes  
        Telerik.OpenAccess.SDK.dll!Telerik.OpenAccess.Sdk.Dom.Element.setAttribute(string name = "method"string value_Renamed = null) + 0x58 bytes     
        Telerik.OpenAccess.SDK.dll!OpenAccessRuntime.DataObjects.tools.workbench.classgeneration.tree.procedure.ProcedureNode.saveToElement(Telerik.OpenAccess.Sdk.Dom.Element parent = {[Element: <classGenerator/>]}) + 0xc2 bytes     
        Telerik.OpenAccess.SDK.dll!OpenAccessRuntime.DataObjects.tools.workbench.classgeneration.tree.procedure.ProcedureRootNode.saveToElement(Telerik.OpenAccess.Sdk.Dom.Element parent = {[Element: <classGenerator/>]}) + 0x78 bytes     
        Telerik.OpenAccess.SDK.dll!OpenAccessRuntime.DataObjects.tools.workbench.classgeneration.tree.TreeGenModel.saveSettings(System.IO.FileInfo file = {C:\Documents and Settings\adrouin\Local Settings\Temp\tmp22F7.tmp}) + 0x149 bytes     
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.MainForm.SaveSettings(Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.Utility.SourceGenerator generator = {Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.Utility.SourceGenerator}) + 0x89 bytes     
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.MainForm.buttonSaveConfig_Click(object sender = {Text = "Save Config"}, System.EventArgs e = {X = 46 Y = 9 Button = Left}) + 0xc8 bytes   
        System.Windows.Forms.dll!System.Windows.Forms.Control.OnClick(System.EventArgs e) + 0x70 bytes   
        System.Windows.Forms.dll!System.Windows.Forms.Button.OnClick(System.EventArgs e) + 0x4a bytes    
        System.Windows.Forms.dll!System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs mevent = {X = 46 Y = 9 Button = Left}) + 0xac bytes   
        System.Windows.Forms.dll!System.Windows.Forms.Control.WmMouseUp(ref System.Windows.Forms.Message m, System.Windows.Forms.MouseButtons button, int clicks) + 0x28f bytes  
        System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x885 bytes  
        System.Windows.Forms.dll!System.Windows.Forms.ButtonBase.WndProc(ref System.Windows.Forms.Message m) + 0x127 bytes   
        System.Windows.Forms.dll!System.Windows.Forms.Button.WndProc(ref System.Windows.Forms.Message m) + 0x20 bytes    
        System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0x10 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x31 bytes   
        System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 514, System.IntPtr wparam, System.IntPtr lparam) + 0x57 bytes    
        [Native to Managed Transition]   
        [Managed to Native Transition]   
        System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.LocalModalMessageLoop(System.Windows.Forms.Form form = {Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.MainForm, Text: Reverse Engineering - WindowsFormsApplication4}) + 0x14f bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason = 4, System.Windows.Forms.ApplicationContext context = {System.Windows.Forms.Application.ModalApplicationContext}) + 0x1e8 bytes  
        System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) + 0x61 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Application.RunDialog(System.Windows.Forms.Form form) + 0x33 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Form.ShowDialog(System.Windows.Forms.IWin32Window owner) + 0x373 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Form.ShowDialog() + 0x7 bytes  
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.ReverseEngineering.Run(Telerik.OpenAccess.Sdk.Addin.Model.VAProject project = {Telerik.OpenAccess.Sdk.Addin.Model.VAProject}, Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.ReverseProperties props = {Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.ReverseProperties}, out bool addReverseMappingFile = falseout bool success = false) + 0x153 bytes  
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.ReverseEngineering.ExecuteReverseEngineering() + 0xd4 bytes   
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.VSAddin.OpenAccessAddin80.StartReverseEngineering(Telerik.OpenAccess.Sdk.Addin.Model.VAProject project = {Telerik.OpenAccess.Sdk.Addin.Model.VAProject}) + 0x46 bytes  
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.VSAddin.VSHandler.reverseEngineeringCEH(Telerik.OpenAccess.Sdk.Addin.VSAddin.BaseAddin addin = {Telerik.OpenAccess.Sdk.Addin.VSAddin.OpenAccessAddin80}, Telerik.OpenAccess.Sdk.Addin.VSAddin.MenuDesc md = {Telerik.OpenAccess.Sdk.Addin.VSAddin.MenuDesc}, ref object varIn = nullref object varOut = null) + 0xa1 bytes   
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.VSAddin.BaseAddin.Exec(string longcommandName = "Telerik.OpenAccess.Sdk.Addin.VSAddin.OpenAccessAddin80.ReverseEngineering", EnvDTE.vsCommandExecOption executeOption = vsCommandExecOptionDoDefault, ref object varIn = nullref object varOut = nullref bool handled = false) + 0xf4 bytes    
        [Native to Managed Transition]   
     
     
     

    Greetings,
    AlexD
  4. Ady
    Admin
    Ady avatar
    589 posts

    Posted 17 Mar 2009 Link to this post

    Hello Alex,

     Thanks for the call stack. Yes that was what I was looking for. After having a closer look at the stack it seems that there was a problem while generating a default method name for the stored procedures in the database.  Can you provide us with list of stored procedures in your database.
     
     As a workaround you can select the 'Stored Procedures' node and specify a unique method name for each stored procedure in the grid.

    Hope this helps.

    Regards,
    Ady
    the Telerik team


    Instantly find answers to your questions on the new Telerik Support Portal.
    Check out the tips for optimizing your support resource searches.
  5. Alex
    Alex avatar
    10 posts
    Member since:
    Feb 2009

    Posted 17 Mar 2009 Link to this post

    Thanks for your reply, I will try it immediately.

    Here's the list of our stored procedures (this is a legacy database) :

    dt_addtosourcecontrol
    dt_addtosourcecontrol_u
    dt_adduserobject
    dt_adduserobject_vcs
    dt_checkinobject
    dt_checkinobject_u
    dt_checkoutobject
    dt_checkoutobject_u
    dt_displayoaerror
    dt_displayoaerror_u
    dt_droppropertiesbyid
    dt_dropuserobjectbyid
    dt_generateansiname
    dt_getobjwithprop
    dt_getobjwithprop_u
    dt_getpropertiesbyid
    dt_getpropertiesbyid_u
    dt_getpropertiesbyid_vcs
    dt_getpropertiesbyid_vcs_u
    dt_isundersourcecontrol
    dt_isundersourcecontrol_u
    dt_removefromsourcecontrol
    dt_setpropertybyid
    dt_setpropertybyid_u
    dt_validateloginparams
    dt_validateloginparams_u
    dt_vcsenabled
    dt_verstamp006
    dt_verstamp007
    dt_whocheckedout
    dt_whocheckedout_u
    FindLoopPosition
    Get_HoraireUserList
    get_InscritProgram
    Get_ManifestInfo
    Get_ManifestRelation
    Get_message_personalisation
    get_ModuleByProgram
    get_Program
    Get_Resources_RessCatID
    Get_UserOnLine
    Get_UserXml
    Ins_Result
    Ins_Result_Copy
    Ins_Result_Item
    sp_BuildCategoryMembershipTree
    sp_BuildPositionTree
    sp_cascadetime
    sp_checkIndex
    sp_class
    sp_class_delete
    sp_class_insert
    sp_class_trad
    sp_class_trad_insert
    sp_class_trad_update
    sp_class_update
    sp_CleanTimeBeforeCloseSession
    sp_Copy_Person_Activity_Skill
    sp_Copy_Skill_Acquisition_Status
    sp_CountPrerequisNotCompleted
    sp_CountRegisterByPeriod
    SP_DELETE_GROUP_QUICK_QUERY
    SP_DELETE_QUICK_QUERY
    sp_DepartmentSupList
    sp_Ed_CreateClass
    sp_Ed_CreateClassField
    sp_Ed_CreateClassFieldParam
    sp_ED_CreateDisplay
    sp_ED_CreatePKField
    sp_Ed_CreateRelation
    sp_ED_CreateTranslatable
    sp_Ed_ExtendedPropertyDeletion
    sp_Ed_SetupTransTable
    sp_Ed_SetupTransTable_TextFields
    sp_Ed_TableExtendedPropDeletion
    sp_event_schedule_by_event_id
    sp_event_schedule_by_event_type_id
    sp_event_subscription_insert
    sp_event_subscription_type_end_warning
    sp_event_subscription_type_inscription
    sp_event_subscription_type_start_warning
    sp_event_template_instructor_fixed_date
    sp_event_template_user
    sp_event_template_user_course_waitinglist
    sp_event_Update_ExtensionValue
    Sp_F_Ims_ListPull
    sp_Get_ClassSize_ByPeriodID
    sp_Get_ManifestName
    sp_get_ManifestNoteByID
    sp_get_ManifestNoteByManifestID
    sp_get_ManifestNoteByUser
    sp_get_ManifestNotesByManifestID
    sp_Get_ModuleByAutoProgram
    sp_getAlphaList
    sp_GetClassRooms
    sp_GetEquipement_By_Class
    sp_GetGlossary_List
    sp_GetHoraireType
    sp_GetInscription
    sp_GetInstructorInfo
    sp_GetInstructorSingleInfo
    sp_GetMail_Message
    sp_GetManifest_ByProgramId
    sp_GetManifest_WaitingList
    sp_GetManifestExamXml
    sp_GetManifestInfo_Schedule
    sp_GetManifestInfo_Schedule_Inline
    sp_GetManifestInfoById
    sp_GetManifestName
    sp_GetManifests
    sp_GetManifests_000
    sp_GetManifests_history_000
    sp_GetMessageInfo
    sp_GetMessagePreview
    sp_GetMessages
    sp_GetModuleInfo
    sp_GetNb_Place
    sp_getPrerequisNotCompleted
    sp_GetProgManifestInfo
    sp_GetProgramInfo
    sp_GetProgramSchedule
    sp_GetResources_Trad
    sp_GetSchedule_NbrPeriodNotBegun
    sp_GetScheduleName
    sp_GetStatut_Horaire
    sp_GetTemplateInfo
    sp_getXmlHoraire
    sp_Give_Skill_Access_Rights
    sp_ImportParentCategory
    SP_INSERT_GROUP_QUICK_QUERY
    sp_insert_person
    SP_INSERT_QUICK_QUERY
    sp_insert_user
    sp_insert_userid
    sp_Item_Insert
    sp_lesson_correction
    sp_lesson_correction_update
    sp_lesson_data
    sp_lesson_result_save
    sp_lesson_save
    sp_lesson_session_close
    sp_lesson_time_detail_insert
    sp_lesson_time_detail_update
    sp_lesson_time_insert
    sp_lesson_time_update
    sp_List_Manifest
    sp_ListBox_ActivityType
    sp_ListBox_Class
    sp_ListBox_Code_By_Type
    sp_ListBox_Country
    sp_ListBox_HoraireProgram
    sp_ListBox_Instructor
    sp_ListBox_Manifest
    sp_ListBox_ManifestNameVersion
    sp_ListBox_ManifestVersion
    sp_ListBox_ManifestVisible
    sp_ListBox_personalisation
    sp_ListBox_PlugIn
    sp_ListBox_Program
    sp_ListBox_RessCat
    sp_ListBox_RessCatTrad
    sp_ListBox_State
    sp_ListBox_State_SansHTML
    sp_ListBox_Template
    sp_ListBox_UsersInWaitingList
    sp_ListBox_UsersNotRegistered_Period
    sp_ListBox_UsersNotRegistered_Schedule
    sp_mail_set_sent
    sp_Manifest
    sp_Manifest_HoraireList
    sp_ManifestClass
    sp_message_batch_info
    sp_message_batch_list
    sp_message_complete_info
    sp_message_delete
    sp_message_get_previewByBatch
    sp_message_getEmail
    sp_message_GetPersonalisationPreview
    sp_message_insert
    sp_message_to_send
    sp_ObjectAccess_insert
    sp_OrgUnitList
    sp_personalisation_insert
    sp_personalisation_Trad_insert
    sp_Program_CopyModule
    sp_Program_CopyProgram
    sp_Program_DeleteManifestFromModule
    sp_Program_DeleteModule
    sp_Program_DeleteProgram
    sp_Program_InsertManifestToModule
    sp_Program_InsertModule
    sp_Program_InsertProgram
    sp_Program_List
    sp_Program_UpdateManifestToModule
    sp_Program_UpdateModule
    sp_Program_UpdateProgram
    sp_resource_association
    sp_resource_dependency_insert
    sp_resource_id
    sp_resource_insert
    sp_resource_trad_insert
    sp_resource_trad_update
    sp_schedule
    sp_schedule_copy
    sp_schedule_delete
    sp_schedule_insert
    sp_schedule_period
    sp_schedule_period_accessory_conflict
    sp_schedule_period_class_conflict
    sp_schedule_period_delete
    sp_schedule_period_insert
    sp_schedule_period_instructor_conflict
    sp_schedule_period_update
    sp_schedule_preview_delete
    sp_schedule_session
    sp_schedule_session_delete
    sp_schedule_session_insert
    sp_schedule_session_update
    sp_schedule_set_nb_place
    sp_schedule_update
    sp_scheduleChilds_delete
    sp_send_cdosysmail
    sp_sequence
    sp_SetInscriptionDates
    sp_Sql_ClassEquipment
    sp_Sql_CoursAssign
    sp_Sql_Dataset
    sp_Sql_Dataset_SAP
    sp_Sql_Instructor
    sp_SQL_Note
    sp_Sql_WaitingList
    sp_String_ManifestName
    sp_String_ManifestXmlToc
    sp_Template_DeleteTemplate
    sp_Template_DelTemplate
    sp_Template_GetItemList
    sp_Template_getManifestItem
    sp_Template_getManifestRelationState
    sp_Template_GetTemplateInfo
    sp_Template_GetTemplateItem
    sp_Template_GetTemplateLang
    sp_Template_InsertItem
    sp_Template_InsertNewItem
    sp_Template_ManifestRelatedID
    sp_Template_ManifestRelatedInfo
    sp_Template_RemoveManifestRelation
    sp_Template_UpdateManifest
    sp_Template_UpdateManifestItem
    sp_Template_UpdateTemplate
    SP_udf_mandatory_values_validation
    SP_udf_matching_extid_validation
    SP_udf_numeric_limit_validation
    SP_udf_numeric_only_validation
    SP_udf_schedule_mandatory_values_validation
    SP_udf_schedule_numeric_limit_validation
    SP_udf_schedule_numeric_only_validation
    sp_update_manifest
    sp_update_timespent
    up_AddObjectRightsForuser
    up_Fill_TMPSAS_tables
    up_GetNextEdClassNumber
    Up_Inscription
  6. Alex
    Alex avatar
    10 posts
    Member since:
    Feb 2009

    Posted 17 Mar 2009 Link to this post

    Hello again,

    I saw that OpenAccess removes the '_' in the name of the stored procedures, I was able to find which stored procedures caused the problem with the following query :

     
     select so.name, so.xtype 
      FROM sysobjects so 
     where xtype = 'P' 
        and replace(so.name'_'''in ( 
         
                        select replace(so.name'_'''
                        FROM sysobjects so 
                        where xtype = 'P' 
                        group by replace(so.name'_'''
                        having COUNT(*) > 1) 
     
     order by 1 
      

    I tried to rename one of these in OpenAccess but the reverse engineering closes by itself with no error message.  I used the CLR Debugger to catch the call stack of the action and I receive this call stack :

    >   Telerik.OpenAccess.SDK.dll!Telerik.OpenAccess.Sdk.Template.Template.getValue(SupportClass.Tokenizer t = {SupportClass.Tokenizer}) + 0x19a bytes  
        Telerik.OpenAccess.SDK.dll!Telerik.OpenAccess.Sdk.Template.Template.replace(SupportClass.Tokenizer t = {SupportClass.Tokenizer}, string tok = "$") + 0x3f bytes  
        Telerik.OpenAccess.SDK.dll!Telerik.OpenAccess.Sdk.Template.Template.processLine(string line = "        public static IQueryResult $methodName(IObjectScope scope$paramDecls)", System.IO.StreamWriter writer = {System.IO.StreamWriter}) + 0x56f bytes   
        Telerik.OpenAccess.SDK.dll!Telerik.OpenAccess.Sdk.Template.Template.merge(System.Collections.IDictionary mapParam = Count = 7, System.IO.StreamWriter writer = {System.IO.StreamWriter}) + 0x100 bytes   
        Telerik.OpenAccess.SDK.dll!Telerik.OpenAccess.Sdk.Template.TemplateUtils.templateMerge(string templateFile = "c:\\program files\\telerik\\openaccess orm\\sdk\\IDEIntegrations\\templates\\\\PCClassGeneration/cs/templates\\storedprocedure.vm", string templateDir = "c:\\program files\\telerik\\openaccess orm\\sdk\\IDEIntegrations\\templates\\\\PCClassGeneration/cs/templates", System.Collections.IDictionary data = Count = 6, System.IO.Stream outputStream = {System.IO.MemoryStream}) + 0x159 bytes     
        Telerik.OpenAccess.SDK.dll!Telerik.OpenAccess.Sdk.Template.TemplateUtils.templateMergeUsingFile(string templateFile = "c:\\program files\\telerik\\openaccess orm\\sdk\\IDEIntegrations\\templates\\\\PCClassGeneration/cs/templates\\storedprocedure.vm", string templateDir = "c:\\program files\\telerik\\openaccess orm\\sdk\\IDEIntegrations\\templates\\\\PCClassGeneration/cs/templates", System.Collections.IDictionary data = Count = 6) + 0x4c bytes   
        Telerik.OpenAccess.SDK.dll!OpenAccessRuntime.DataObjects.tools.workbench.classgeneration.tree.procedure.ProcedureNode.GetCode() + 0x21d bytes    
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.Procedure.ProcedureUserControl.CreateControls(OpenAccessRuntime.DataObjects.tools.workbench.classgeneration.tree.procedure.ProcedureNode node = {PROCEDURE sp_GetManifestName 
        @manifestID int}) + 0xa5 bytes   
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.ReverseMainCtrl.RefreshControlsForNode(Telerik.OpenAccess.Sdk.Tree.TreeNode node = {PROCEDURE sp_GetManifestName 
        @manifestID int}) + 0x1356 bytes     
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.ReverseMainCtrl.tableTreeView_AfterSelect(object sender = {System.Windows.Forms.TreeView, Nodes.Count: 2, Nodes[0]: TreeNode: Tables}, System.Windows.Forms.TreeViewEventArgs e = {System.Windows.Forms.TreeViewEventArgs}) + 0x60 bytes  
        System.Windows.Forms.dll!System.Windows.Forms.TreeView.OnAfterSelect(System.Windows.Forms.TreeViewEventArgs e) + 0x1d bytes  
        System.Windows.Forms.dll!System.Windows.Forms.TreeView.TvnSelected(System.Windows.Forms.NativeMethods.NMTREEVIEW* nmtv = 0x0012e310) + 0x89 bytes    
        System.Windows.Forms.dll!System.Windows.Forms.TreeView.WmNotify(ref System.Windows.Forms.Message m) + 0xda bytes     
        System.Windows.Forms.dll!System.Windows.Forms.TreeView.WndProc(ref System.Windows.Forms.Message m) + 0xf7 bytes  
        System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0x10 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x31 bytes   
        System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 8270, System.IntPtr wparam, System.IntPtr lparam) + 0x57 bytes   
        [Native to Managed Transition]   
        [Managed to Native Transition]   
        System.Windows.Forms.dll!System.Windows.Forms.Control.SendMessage(int msg, System.IntPtr wparam, System.IntPtr lparam) + 0x24 bytes  
        System.Windows.Forms.dll!System.Windows.Forms.Control.ReflectMessageInternal(System.IntPtr hWnd, ref System.Windows.Forms.Message m = {msg=0x4e (WM_NOTIFY) hwnd=0xb13ea wparam=0x513f8 lparam=0x12e310 result=0x0}) + 0x3b bytes    
        System.Windows.Forms.dll!System.Windows.Forms.Control.WmNotify(ref System.Windows.Forms.Message m = {msg=0x4e (WM_NOTIFY) hwnd=0xb13ea wparam=0x513f8 lparam=0x12e310 result=0x0}) + 0x17 bytes  
        System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x4b2 bytes  
        System.Windows.Forms.dll!System.Windows.Forms.ScrollableControl.WndProc(ref System.Windows.Forms.Message m) + 0x2a bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0x10 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x31 bytes   
        System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 78, System.IntPtr wparam, System.IntPtr lparam) + 0x57 bytes     
        [Native to Managed Transition]   
        System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DefWndProc(ref System.Windows.Forms.Message m = {msg=0x201 (WM_LBUTTONDOWN) hwnd=0x513f8 wparam=0x1 lparam=0x420079 result=0x0}) + 0x93 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Control.DefWndProc(ref System.Windows.Forms.Message m) + 0xc bytes     
        System.Windows.Forms.dll!System.Windows.Forms.TreeView.WmMouseDown(ref System.Windows.Forms.Message m, System.Windows.Forms.MouseButtons button, int clicks) + 0x73 bytes    
        System.Windows.Forms.dll!System.Windows.Forms.TreeView.WndProc(ref System.Windows.Forms.Message m) + 0x689 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0x10 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x31 bytes   
        System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 513, System.IntPtr wparam, System.IntPtr lparam) + 0x57 bytes    
        [Native to Managed Transition]   
        [Managed to Native Transition]   
        System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.LocalModalMessageLoop(System.Windows.Forms.Form form = {Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.MainForm, Text: Reverse Engineering - WindowsFormsApplication4}) + 0x14f bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason = 4, System.Windows.Forms.ApplicationContext context = {System.Windows.Forms.Application.ModalApplicationContext}) + 0x1e8 bytes  
        System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) + 0x61 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Application.RunDialog(System.Windows.Forms.Form form) + 0x33 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Form.ShowDialog(System.Windows.Forms.IWin32Window owner) + 0x373 bytes     
        System.Windows.Forms.dll!System.Windows.Forms.Form.ShowDialog() + 0x7 bytes  
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.ReverseEngineering.Run(Telerik.OpenAccess.Sdk.Addin.Model.VAProject project = {Telerik.OpenAccess.Sdk.Addin.Model.VAProject}, Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.ReverseProperties props = {Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.ReverseProperties}, out bool addReverseMappingFile = false, out bool success = false) + 0x155 bytes  
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.UserControls.Voa.Reverse.ReverseEngineering.ExecuteReverseEngineering() + 0xd4 bytes   
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.VSAddin.OpenAccessAddin80.StartReverseEngineering(Telerik.OpenAccess.Sdk.Addin.Model.VAProject project = {Telerik.OpenAccess.Sdk.Addin.Model.VAProject}) + 0x46 bytes  
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.VSAddin.VSHandler.reverseEngineeringCEH(Telerik.OpenAccess.Sdk.Addin.VSAddin.BaseAddin addin = {Telerik.OpenAccess.Sdk.Addin.VSAddin.OpenAccessAddin80}, Telerik.OpenAccess.Sdk.Addin.VSAddin.MenuDesc md = {Telerik.OpenAccess.Sdk.Addin.VSAddin.MenuDesc}, ref object varIn = null, ref object varOut = null) + 0xa1 bytes   
        Telerik.OpenAccess.SDK.AddIn.dll!Telerik.OpenAccess.Sdk.Addin.VSAddin.BaseAddin.Exec(string longcommandName = "Telerik.OpenAccess.Sdk.Addin.VSAddin.OpenAccessAddin80.ReverseEngineering", EnvDTE.vsCommandExecOption executeOption = vsCommandExecOptionDoDefault, ref object varIn = null, ref object varOut = null, ref bool handled = false) + 0xf4 bytes    
        [Native to Managed Transition]   
     


    Regards,
    AlexD






  7. Ady
    Admin
    Ady avatar
    589 posts

    Posted 17 Mar 2009 Link to this post

    Hello Alex,

    Thank you for the analysis. There is a bug in handling that particular case (while trying to generate the static method code) and we will fix that.

    As a workaround you can rename the method name by selecting the parent 'Stored Procedures' node and modifying the method name in the 'Stored Procedures' grid.

    Your Telerik points have been updated.

    Best wishes,
    Ady
    the Telerik team


    Instantly find answers to your questions on the new Telerik Support Portal.
    Check out the tips for optimizing your support resource searches.
  8. Stephen Austin
    Stephen Austin avatar
    8 posts
    Member since:
    Jan 2009

    Posted 25 Mar 2009 Link to this post

    Is there any update/solution for this issue? I have tried checking in the 'Use Stored Procedures' box to no avail.

    Thanks,
    Steve
  9. Alex
    Alex avatar
    10 posts
    Member since:
    Feb 2009

    Posted 25 Mar 2009 Link to this post

    Hello Stephen,

    the workaround I am using until Telerik fixes the problem is that I have to rename one stored procedure since I have two stored procedures that have the same name when you remove the "_" in their names.  I posted an SQL query that can show you which SPs have this problem (if it is the same problem you are having).

    Regards,
    AlexD
  10. Stephen Austin
    Stephen Austin avatar
    8 posts
    Member since:
    Jan 2009

    Posted 25 Mar 2009 Link to this post

    Thanks,
    that makes more sense. I was scratching my head a little at your previous dialogue. I'll give it a shot and post my results.

    Thanks again!
  11. Ady
    Admin
    Ady avatar
    589 posts

    Posted 30 Mar 2009 Link to this post

    Hi Stephen,

     I would like to know whether you were able to save the Reverse Mapping settings using the workaround mentioned?

     The problem has  been fixed and should be available in the next patch.

    Sincerely yours,
    Ady
    the Telerik team

    Check out Telerik Trainer , the state of the art learning tool for Telerik products.
  12. Stephen Austin
    Stephen Austin avatar
    8 posts
    Member since:
    Jan 2009

    Posted 30 Mar 2009 Link to this post

    No, unfortunately the problem is still there. In this particular situation I dont have much control over the structure of the database or the names of the stored procedures. Is that next patch available as an internal download? I'd really like to use ORM for this solution, so if there is anything I can do to get it to work, I would appreciate it.

    Thanks,
    Steve
  13. Ady
    Admin
    Ady avatar
    589 posts

    Posted 30 Mar 2009 Link to this post

    Hi Stephen,

     The workaround I mentioned does not require you to change the name of the stored procedure but the name of the static method for the stored procedure that is calculated by OpenAccess. You can select the 'Stored Procedures' node on the left and specify the static method name for the problematic stored procedure, in the grid.

     A patch with a fix is scheduled for later this week.

    Best wishes,
    Ady
    the Telerik team

    Check out Telerik Trainer , the state of the art learning tool for Telerik products.
Back to Top