In Firebird I have a simple SP with one output parameter being "char(16) character set octets". That's what's basically used for Guids in Firebird.
create or alter procedure AAA_TEST
returns (
R char(16) character set octets)
as
begin
suspend;
end
If I try to import this stored procedure, the result set is not properly inferred. Attached debugger shows ArgumentNullException in SD.Tools.Algorithmia.dll with message:
Value cannot be null.
Parameter name: typeDefinition
Also check stacks below.
Any idea what's wrong? Maybe something in provider.
Stack (in exception):
at SD.Tools.Algorithmia.UtilityClasses.ArgumentVerifier.CantBeNull(Object argument, String name) in C:\Myprojects\VS.NET Projects\Algorithmia_hg\SD.Tools.Algorithmia\UtilityClasses\ArgumentVerifier.cs:line 58
at SD.LLBLGen.Pro.DBDriverCore.DBField..ctor(String fieldName, DBTypeDefinition typeDefinition, String description, Boolean enableChangeTracking, Boolean isNullable, Int32 ordinalPosition)
at SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever.CreateResultsetFromSchemaTable(DBStoredProcedure owningProcedure, DataTable resultsetMetaData, Int32 resultsetNumber)
at SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever.ExecuteResultsetRetrievalQuery(DbConnection openConnection, DbCommand command, DBStoredProcedure storedProcedure, CommandBehavior behavior)
Stack (complete, from debugger):
SD.Tools.Algorithmia.dll!SD.Tools.Algorithmia.UtilityClasses.ArgumentVerifier.CantBeNull(object argument, string name) Line 60 C#
SD.LLBLGen.Pro.DBDriverCore.dll!SD.LLBLGen.Pro.DBDriverCore.DBField.DBField(string fieldName, SD.LLBLGen.Pro.DBDriverCore.DBTypeDefinition typeDefinition, string description, bool enableChangeTracking, bool isNullable, int ordinalPosition) + 0x1f bytes
SD.LLBLGen.Pro.DBDriverCore.dll!SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever. CreateResultsetFromSchemaTable(SD.LLBLGen.Pro.DBDriverCore.DBStoredProcedure owningProcedure, System.Data.DataTable resultsetMetaData, int resultsetNumber) + 0x1ef bytes
SD.LLBLGen.Pro.DBDriverCore.dll!SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever. ExecuteResultsetRetrievalQuery(System.Data.Common.DbConnection openConnection, System.Data.Common.DbCommand command, SD.LLBLGen.Pro.DBDriverCore.DBStoredProcedure storedProcedure, System.Data.CommandBehavior behavior) + 0x70 bytes
SD.LLBLGen.Pro.DBDriverCore.dll!SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever. RetrieveResultsetsForStoredProcedure(System.Data.Common.DbConnection openConnection, SD.LLBLGen.Pro.DBDriverCore.DBStoredProcedure storedProcedure) + 0x1f6 bytes
SD.LLBLGen.Pro.DBDriverCore.dll!SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever. RetrieveStoredProcedureResultsetMetaData(SD.LLBLGen.Pro.DBDriverCore.DBSchema schemaToFill, System.Collections.Generic.IEnumerable<SD.LLBLGen.Pro.DBDriverCore.DBElementName> elementNames) + 0x17a bytes
SD.LLBLGen.Pro.DBDriverCore.dll!SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever. BatchRunner<System.__Canon>(SD.LLBLGen.Pro.DBDriverCore.DBSchema schemaToFill, SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever.MetaDataType typeOfMetaData, System.Collections.Generic.IEnumerable<System.__Canon> elementNames) + 0x97 bytes
SD.LLBLGen.Pro.DBDriverCore.dll!SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever. Batcher< SD.LLBLGen.Pro.DBDriverCore.DBElementName>(SD.LLBLGen.Pro.DBDriverCore.DBSchema schemaToFill, System.Collections.Generic.ICollection<SD.LLBLGen.Pro.DBDriverCore.DBElementName> names, SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever.MetaDataType typeOfMetaData, string formattedSubTaskDescription) + 0x1d9 bytes
SD.LLBLGen.Pro.DBDriverCore.dll!SD.LLBLGen.Pro.DBDriverCore.DBSchemaRetriever. RetrieveSchema(SD.LLBLGen.Pro.DBDriverCore.DBCatalog catalog, SD.LLBLGen.Pro.DBDriverCore.DBSchemaElementNameContainer nameContainer) + 0x1aa bytes
SD.LLBLGen.Pro.DBDriverCore.dll!SD.LLBLGen.Pro.DBDriverCore.DBCatalogRetriever. RetrieveCatalog(string catalogName, System.Collections.Generic.List<SD.LLBLGen.Pro.DBDriverCore.DBSchemaElementNameContainer> elementsToRetrieve) + 0x207 bytes
SD.LLBLGen.Pro.DBDriverCore.dll!SD.LLBLGen.Pro.DBDriverCore.DBDriverBase. PopulateCatalogs( System.Collections.Generic.Dictionary<SD.LLBLGen.Pro.Core.ProgressCallBack,object> callBacks, System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<SD.LLBLGen.Pro.DBDriverCore.DBSchemaElementNameContainer>> elementsToRetrieve) + 0x139 bytes
LLBLGenPro.exe!SD.LLBLGen.Pro.Gui.Classes.GuiController. ObtainMetaDataFromDatabase(SD.LLBLGen.Pro.DBDriverCore.DBDriverBase driverUsed, System.Collections.Generic.Dictionary< string,System.Collections.Generic.List<SD.LLBLGen.Pro.DBDriverCore.DBSchemaElementNameContainer>> selectedElements) + 0xb1 bytes
LLBLGenPro.exe!SD.LLBLGen.Pro.Gui.Classes.GuiController.PerformRefreshMetaDataAction(string driverID) + 0x3f5 bytes
LLBLGenPro.exe!SD.LLBLGen.Pro.Gui.Controls.CatalogExplorer.HandleRefreshMetaDataCmd() + 0x68 bytes
LLBLGenPro.exe!SD.LLBLGen.Pro.Gui.Controls.CatalogExplorer._commandManager_CommandClick(object sender, Janus.Windows.UI.CommandBars.CommandEventArgs e) + 0x251 bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.CommandBars.UICommandManager.OnCommandClick( Janus.Windows.UI.CommandBars.CommandEventArgs e) + 0x5a bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.CommandBars.UICommandManager. Janus.Windows.UI.CommandBars.ICommandOwner.OnCommandClicked(Janus.Windows.UI.CommandBars.CommandEventArgs e) + 0x33 bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.CommandBars.UICommandCollection.c(object , Janus.Windows.UI.CommandBars.CommandEventArgs ) + 0x13 bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.CommandBars.UICommand.OnClick( Janus.Windows.UI.CommandBars.CommandEventArgs e) + 0x5a bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.CommandBars.UICommand.ar() + 0x16a bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.Internal.JNSCZ.OnMouseUp(System.Windows.Forms.MouseEventArgs e) + 0xe3 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WmMouseUp(ref System.Windows.Forms.Message m, System.Windows.Forms.MouseButtons button, int clicks) + 0x274 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x894 bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.Internal.JNSCZ.WndProc(ref System.Windows.Forms.Message m) + 0x5a bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0x11 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x39 bytes
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.Callback(System.IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam) + 0x80 bytes
[Native to Managed Transition]
[Managed to Native Transition]
Janus.Windows.UI.v3.dll!Janus.Windows.UI.Internal.JNSCZ.k() + 0x14e7 bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.Internal.JNSCZ.b(System.Drawing.Point ) + 0xc6f bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.CommandBars.UIContextMenu.a(System.Windows.Forms.Control , System.Drawing.Point , int ) + 0x1e2 bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.CommandBars.UIContextMenu.Show(System.Windows.Forms.Control control) + 0x2e bytes
Janus.Windows.UI.v3.dll!Janus.Windows.UI.CommandBars.UICommandManager.b(object , System.Windows.Forms.MouseEventArgs ) + 0x102 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.OnMouseUp(System.Windows.Forms.MouseEventArgs e) + 0x5d bytes
LLBLGenPro.exe!SD.LLBLGen.Pro.Gui.Controls.MultiSelectTreeView.OnMouseUp(System.Windows.Forms.MouseEventArgs e) + 0x5f bytes
System.Windows.Forms.dll!System.Windows.Forms.TreeView.WmNotify(ref System.Windows.Forms.Message m) + 0x423 bytes
System.Windows.Forms.dll!System.Windows.Forms.TreeView.WndProc(ref System.Windows.Forms.Message m) + 0xf4 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0x11 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x39 bytes
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.Callback(System.IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam) + 0x80 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) + 0x21 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ReflectMessageInternal(System.IntPtr hWnd, ref System.Windows.Forms.Message m) + 0x3b bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WmNotify(ref System.Windows.Forms.Message m) + 0x17 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x3ef 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.UserControl.WndProc(ref System.Windows.Forms.Message m) + 0x23 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0x11 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x39 bytes
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.Callback(System.IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam) + 0x80 bytes
[Native to Managed Transition]
[Managed to Native Transition]
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow. DefWndProc(ref System.Windows.Forms.Message m) + 0x56 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.DefWndProc(ref System.Windows.Forms.Message m) + 0xa 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) + 0xb5a bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0x11 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x39 bytes
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.Callback(System.IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam) + 0x80 bytes
[Native to Managed Transition]
[Managed to Native Transition]
System.Windows.Forms.dll!System.Windows.Forms.Application. ComponentManager.System.Windows.Forms.UnsafeNativeMethods. IMsoComponentManager.FPushMessageLoop( System.IntPtr dwComponentID, int reason, int pvLoopData) + 0x24d bytes
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason, System.Windows.Forms.ApplicationContext context) + 0x155 bytes
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) + 0x4a bytes
System.Windows.Forms.dll!System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm) + 0x31 bytes
LLBLGenPro.exe!SD.LLBLGen.Pro.Gui.Program.DoApplicationStart(string fileToLoad) + 0x153 bytes
LLBLGenPro.exe!SD.LLBLGen.Pro.Gui.Program.Main(string[] args) + 0xf9 bytes
[Native to Managed Transition]
LLBLGenPro_NET40.exe!Net40Runner.Program.Main(string[] args) + 0xb4 bytes