This question is locked. New answers and comments are not allowed.
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 :
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
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
12 Answers, 1 is accepted
0
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 -
Greetings,
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
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 -
- Open the CLR debugger - dbgCLR.exe, and specify the Visual Studio executable as the 'Program to Debug'
- Go to the 'Debug->Exceptions' menu item and check the 'CLR exceptions thrown' checkbox
- In the debugging options (available via Tools->Options->Debugging) uncheck the 'Enable Just My Code' option
-
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.
0

Alex
Top achievements
Rank 1
answered on 17 Mar 2009, 01:51 PM
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) ?
Greetings,
AlexD
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 = null, int 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 = false, out 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 = 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] |
Greetings,
AlexD
0
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,
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
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.
0

Alex
Top achievements
Rank 1
answered on 17 Mar 2009, 02:38 PM
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
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
0

Alex
Top achievements
Rank 1
answered on 17 Mar 2009, 02:52 PM
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 :
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 :
Regards,
AlexD
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
0
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,
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
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.
0

Stephen Austin
Top achievements
Rank 1
answered on 25 Mar 2009, 05:46 PM
Is there any update/solution for this issue? I have tried checking in the 'Use Stored Procedures' box to no avail.
Thanks,
Steve
Thanks,
Steve
0

Alex
Top achievements
Rank 1
answered on 25 Mar 2009, 05:55 PM
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
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
0

Stephen Austin
Top achievements
Rank 1
answered on 26 Mar 2009, 04:20 AM
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!
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!
0
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,
Check out Telerik Trainer , the state of the art learning tool for Telerik products.
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.
0

Stephen Austin
Top achievements
Rank 1
answered on 30 Mar 2009, 02:03 PM
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
Thanks,
Steve
0
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,
Check out Telerik Trainer , the state of the art learning tool for Telerik products.
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.