Closed jimowen closed 11 years ago
I looked in the source code and found that the method is simply not implemented.
The method is in class ObjectListDbDataReader : DbDataReader:
public override long GetBytes(int ordinal, long dataOffset, byte[] buffer, int bufferOffset, int length) { throw new NotImplementedException(); }
Can you please either implement this method or give us some hints on how to do so?
I should be able to take care of this on Monday. It looks like there is enough info to reproduce it.
I think I have fixed a similar problem before, so please make sure you are using the latest build of the library.
On Mar 29, 2013, at 6:23 PM, "iamtech" notifications@github.com wrote:
I looked in the source code and found that the method is simply not implemented.
The method is in class ObjectListDbDataReader : DbDataReader:
public override long GetBytes(int ordinal, long dataOffset, byte[] buffer, int bufferOffset, int length) { throw new NotImplementedException(); }
Can you please either implement this method or give us some hints on how to do so?
— Reply to this email directly or view it on GitHub.
If I had to guess, it's having an issue with mapping the varbinary column to the object. Can you send the class definition for the documents class
On Mar 29, 2013, at 6:16 PM, "jimowen" notifications@github.com wrote:
Hi,
We have encountered an error during execution of InsertListAsync that we have not be able to resolve. If you can provide some assistance on this, it would be appreciated.
I've pasted the error along with the code being executed and the supporting sql objects.
Thanks!
Jim
///// C# Code public async Task InsertDocument(Document document) { using (var connection = await DataFactory.Instance.GetConnectionWithAsyncTransaction()) { await connection.InsertListAsync("InsertDocuments", new List { document }); connection.Commit(); } }
/\ Object: Table [dbo].[Document] Script Date: 03/29/2013 15:10:09 **/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].Document NOT NULL, [DocumentName] nvarchar NOT NULL, [Location] nvarchar NOT NULL, [EntityId] [int] NOT NULL, [EntityTypeId] [int] NOT NULL, [DocumentSequence] [int] NOT NULL, [DocumentTypeId] [int] NOT NULL, [DocumentContents] varbinary FILESTREAM NOT NULL, [DocumentGuid] [uniqueidentifier] ROWGUIDCOL NOT NULL, [CreatedTime] [datetime] NOT NULL, [CreatedBy] [int] NOT NULL, [UpdatedTime] [datetime] NOT NULL, [UpdatedBy] [int] NOT NULL, CONSTRAINT [PK_Document] PRIMARY KEY CLUSTERED ( [DocumentId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] FILESTREAM_ON [FileStreamCRM], CONSTRAINT [UQDocument0847AE4E627C2C96] UNIQUE NONCLUSTERED ( [DocumentGuid] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] FILESTREAM_ON [FileStreamCRM]
GO
SET ANSI_PADDING OFF GO
ALTER TABLE [dbo].[Document] WITH CHECK ADD CONSTRAINT [FK_Document_CreatedBy] FOREIGN KEY([CreatedBy]) REFERENCES [dbo].Contact GO
ALTER TABLE [dbo].[Document] CHECK CONSTRAINT [FK_Document_CreatedBy] GO
ALTER TABLE [dbo].[Document] WITH CHECK ADD CONSTRAINT [FK_Document_UpdatedBy] FOREIGN KEY([UpdatedBy]) REFERENCES [dbo].Contact GO
ALTER TABLE [dbo].[Document] CHECK CONSTRAINT [FK_Document_UpdatedBy] GO
ALTER TABLE [dbo].[Document] ADD CONSTRAINT [DF_Document_DocumentSequence] DEFAULT ((0)) FOR [DocumentSequence] GO
ALTER TABLE [dbo].[Document] ADD CONSTRAINT [DF_Document_DocumentGuid] DEFAULT (newid()) FOR [DocumentGuid] GO
/\ Object: UserDefinedTableType [dbo].[DocumentTable] Script Date: 03/29/2013 15:09:12 **/ CREATE TYPE [dbo].[DocumentTable] AS TABLE( [DocumentId] [int] NOT NULL, [DocumentName] nvarchar NOT NULL, [Location] nvarchar NOT NULL, [EntityId] [int] NOT NULL, [EntityTypeId] [int] NOT NULL, [DocumentSequence] [int] NOT NULL, [DocumentTypeId] [int] NOT NULL, [DocumentContents] varbinary NOT NULL, [DocumentGuid] [uniqueidentifier] NOT NULL, [CreatedTime] [datetime] NOT NULL, [CreatedBy] [int] NOT NULL, [UpdatedTime] [datetime] NOT NULL, [UpdatedBy] [int] NOT NULL ) GO
/\ Object: StoredProcedure [dbo].[InsertDocuments] Script Date: 03/29/2013 14:51:45 **/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].InsertDocuments AS BEGIN Insert into [Document] Output Inserted.DocumentId select DocumentName,Location,EntityId,EntityTypeId,DocumentSequence,DocumentTypeId,DocumentContents,null,GetDate(),CreatedBy,GetDate(),UpdatedBy
from @Documents END
at Insight.Database.CodeGenerator.ObjectListDbDataReader.GetBytes(Int32 ordinal, Int64 dataOffset, Byte[] buffer, Int32 bufferOffset, Int32 length) in c:\projects.net\Open\Insight\Insight.Database\Insight.Database\CodeGenerator\ObjectListDbDataReader.cs:line 316 at Microsoft.SqlServer.Server.ValueUtilsSmi.SetBytes_FromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, Int32 ordinal, SmiMetaData metaData, DbDataReader reader, Int32 offset) at Microsoft.SqlServer.Server.ValueUtilsSmi.FillCompatibleSettersFromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, IList1 metaData, DbDataReader reader) at Microsoft.SqlServer.Server.ValueUtilsSmi.SetDbDataReader_Unchecked(SmiEventSink_Default sink, SmiTypedGetterSetter setters, Int32 ordinal, SmiMetaData metaData, DbDataReader value) at Microsoft.SqlServer.Server.ValueUtilsSmi.SetCompatibleValueV200(SmiEventSink_Default sink, SmiTypedGetterSetter setters, Int32 ordinal, SmiMetaData metaData, Object value, ExtendedClrTypeCode typeCode, Int32 offset, Int32 length, ParameterPeekAheadValue peekAhead) at System.Data.SqlClient.TdsParser.WriteSmiParameter(SqlParameter param, Int32 paramIndex, Boolean sendDefault, TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.TdsExecuteRPC(_SqlRPC[] rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc, Boolean sync, TaskCompletionSource1 completion, Int32 startRpc, Int32 startParam)
— Reply to this email directly or view it on GitHub.
Hi Jon,
Thanks very much for taking the time to look into this.
Attached is the Document and associated classes.
Best,
Jim
From: Jon Wagner [mailto:notifications@github.com] Sent: Friday, March 29, 2013 4:12 PM To: jonwagner/Insight.Database Cc: jimowen Subject: Re: [Insight.Database] Exception using InsertListAsync (#21)
If I had to guess, it's having an issue with mapping the varbinary column to the object. Can you send the class definition for the documents class
On Mar 29, 2013, at 6:16 PM, "jimowen" notifications@github.com wrote:
Hi,
We have encountered an error during execution of InsertListAsync that we have not be able to resolve. If you can provide some assistance on this, it would be appreciated.
I've pasted the error along with the code being executed and the supporting sql objects.
Thanks!
Jim
///// C# Code public async Task InsertDocument(Document document) { using (var connection = await DataFactory.Instance.GetConnectionWithAsyncTransaction()) { await connection.InsertListAsync("InsertDocuments", new List { document }); connection.Commit(); } }
/\ Object: Table [dbo].[Document] Script Date: 03/29/2013 15:10:09 **/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].Document NOT NULL, [DocumentName] nvarchar NOT NULL, [Location] nvarchar NOT NULL, [EntityId] [int] NOT NULL, [EntityTypeId] [int] NOT NULL, [DocumentSequence] [int] NOT NULL, [DocumentTypeId] [int] NOT NULL, [DocumentContents] varbinary FILESTREAM NOT NULL, [DocumentGuid] [uniqueidentifier] ROWGUIDCOL NOT NULL, [CreatedTime] [datetime] NOT NULL, [CreatedBy] [int] NOT NULL, [UpdatedTime] [datetime] NOT NULL, [UpdatedBy] [int] NOT NULL, CONSTRAINT [PK_Document] PRIMARY KEY CLUSTERED ( [DocumentId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] FILESTREAM_ON [FileStreamCRM], CONSTRAINT [UQDocument0847AE4E627C2C96] UNIQUE NONCLUSTERED ( [DocumentGuid] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] FILESTREAM_ON [FileStreamCRM]
GO
SET ANSI_PADDING OFF GO
ALTER TABLE [dbo].[Document] WITH CHECK ADD CONSTRAINT [FK_Document_CreatedBy] FOREIGN KEY([CreatedBy]) REFERENCES [dbo].Contact GO
ALTER TABLE [dbo].[Document] CHECK CONSTRAINT [FK_Document_CreatedBy] GO
ALTER TABLE [dbo].[Document] WITH CHECK ADD CONSTRAINT [FK_Document_UpdatedBy] FOREIGN KEY([UpdatedBy]) REFERENCES [dbo].Contact GO
ALTER TABLE [dbo].[Document] CHECK CONSTRAINT [FK_Document_UpdatedBy] GO
ALTER TABLE [dbo].[Document] ADD CONSTRAINT [DF_Document_DocumentSequence] DEFAULT ((0)) FOR [DocumentSequence] GO
ALTER TABLE [dbo].[Document] ADD CONSTRAINT [DF_Document_DocumentGuid] DEFAULT (newid()) FOR [DocumentGuid] GO
/\ Object: UserDefinedTableType [dbo].[DocumentTable] Script Date: 03/29/2013 15:09:12 **/ CREATE TYPE [dbo].[DocumentTable] AS TABLE( [DocumentId] [int] NOT NULL, [DocumentName] nvarchar NOT NULL, [Location] nvarchar NOT NULL, [EntityId] [int] NOT NULL, [EntityTypeId] [int] NOT NULL, [DocumentSequence] [int] NOT NULL, [DocumentTypeId] [int] NOT NULL, [DocumentContents] varbinary NOT NULL, [DocumentGuid] [uniqueidentifier] NOT NULL, [CreatedTime] [datetime] NOT NULL, [CreatedBy] [int] NOT NULL, [UpdatedTime] [datetime] NOT NULL, [UpdatedBy] [int] NOT NULL ) GO
/\ Object: StoredProcedure [dbo].[InsertDocuments] Script Date: 03/29/2013 14:51:45 **/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].InsertDocuments AS BEGIN Insert into [Document] Output Inserted.DocumentId select DocumentName,Location,EntityId,EntityTypeId,DocumentSequence,DocumentTypeId,DocumentContents,null,GetDate(),CreatedBy,GetDate(),UpdatedBy
from @Documents END
at Insight.Database.CodeGenerator.ObjectListDbDataReader.GetBytes(Int32 ordinal, Int64 dataOffset, Byte[] buffer, Int32 bufferOffset, Int32 length) in c:\projects.net\Open\Insight\Insight.Database\Insight.Database\CodeGenerator\ObjectListDbDataReader.cs:line 316 at Microsoft.SqlServer.Server.ValueUtilsSmi.SetBytes_FromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, Int32 ordinal, SmiMetaData metaData, DbDataReader reader, Int32 offset) at Microsoft.SqlServer.Server.ValueUtilsSmi.FillCompatibleSettersFromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, IList1 metaData, DbDataReader reader) at Microsoft.SqlServer.Server.ValueUtilsSmi.SetDbDataReader_Unchecked(SmiEventSink_Default sink, SmiTypedGetterSetter setters, Int32 ordinal, SmiMetaData metaData, DbDataReader value) at Microsoft.SqlServer.Server.ValueUtilsSmi.SetCompatibleValueV200(SmiEventSink_Default sink, SmiTypedGetterSetter setters, Int32 ordinal, SmiMetaData metaData, Object value, ExtendedClrTypeCode typeCode, Int32 offset, Int32 length, ParameterPeekAheadValue peekAhead) at System.Data.SqlClient.TdsParser.WriteSmiParameter(SqlParameter param, Int32 paramIndex, Boolean sendDefault, TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.TdsExecuteRPC(_SqlRPC[] rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc, Boolean sync, TaskCompletionSource1 completion, Int32 startRpc, Int32 startParam)
— Reply to this email directly or view it on GitHub.
— Reply to this email directly or view it on GitHub https://github.com/jonwagner/Insight.Database/issues/21#issuecomment-15665008 . https://github.com/notifications/beacon/kKTODn7wOjtbXVn5CKUzncxuVX38tfhZXxkFLcNiTYkYWkpjMsfn7_sGDo5EcJZh.gif using System; using Envisioned.Common.ModelFramework;
namespace CRMUI.Models
{
public partial class Document: ModelBaseWithTracking
public override int Id { get { return DocumentId; } set { DocumentId = value; }}
static Document()
{
Validator = new DocumentValidator();
}
}
public sealed partial class DocumentValidator : ModelBaseValidator<Document>
{
public DocumentValidator()
{
CustomValidationRules();
}
}
} using System; using System.IO; using CRMUI.Framework; using Envisioned.Common.ModelFramework;
namespace CRMUI.Models
{
public partial class Document
{
private readonly IActiveUser _activeUser = AppContainer.Get
public string DocumentStatus
{
get { return IsNew ? "Ready for Upload" : "Uploaded"; }
}
public string DocumentTypeName
{
get { return "Unspecified"; } // todo: Need to get this from repository somehow.
}
public Document()
{
CreatedBy = _activeUser.UserId;
CreatedTime = DateTime.Now;
UpdatedBy = CreatedBy;
UpdatedTime = CreatedTime;
}
public static Document GetFromEntryValues(int entityId, EntityType entityType, string documentLocation, int documentTypeLookupId)
{
var document = new Document();
document.Location = documentLocation;
document.DocumentName = Path.GetFileName(documentLocation);
document.EntityId = entityId;
document.EntityTypeId = (int) entityType;
document.DocumentTypeId = documentTypeLookupId;
if (document.Location != null)
{
FileInfo fileInfo = new FileInfo(document.Location);
if (fileInfo.Exists)
document.DocumentContents = File.ReadAllBytes(document.Location);
}
return document;
}
}
} using System.IO; using FluentValidation; namespace CRMUI.Models { public sealed partial class DocumentValidator { protected override void CustomValidationRules() { RuleFor(d => d.Location) .Must(DocumentMustExistWithContents) .When(d => d.EnableValidations) .WithMessage("Document does not exist or has no content"); RuleFor(d => d.DocumentTypeId) .Must(d => d > 0) .When(d => d.EnableValidations) .WithMessage("Document Type must be selected."); }
private bool DocumentMustExistWithContents(string location)
{
var fileInfo = new FileInfo(location);
if (!fileInfo.Exists || fileInfo.Length == 0)
return false;
return true;
}
}
}
The latest code has the fix in it. Please test it with your code, and once you have verified the fix, I can post an update to NuGet.
You can either compile the code yourself, or pull this binary down: https://skydrive.live.com/redir?resid=88E04946EED32E2B!369&authkey=!AKxxiY8TM10GVR8
Hi Jon,
Thanks! I’ll pull it down and run through some tests.
Best,
Jim
From: Jon Wagner [mailto:notifications@github.com] Sent: Monday, April 01, 2013 5:21 AM To: jonwagner/Insight.Database Cc: jimowen Subject: Re: [Insight.Database] Exception using InsertListAsync (#21)
The latest code has the fix in it. Please test it with your code, and once you have verified the fix, I can post an update to NuGet.
You can either compile the code yourself, or pull this binary down: https://skydrive.live.com/redir?resid=88E04946EED32E2B!369 https://skydrive.live.com/redir?resid=88E04946EED32E2B!369&authkey=!AKxxiY8TM10GVR8 &authkey=!AKxxiY8TM10GVR8
— Reply to this email directly or view it on GitHub https://github.com/jonwagner/Insight.Database/issues/21#issuecomment-15713450 . https://github.com/notifications/beacon/kKTODn7wOjtbXVn5CKUzncxuVX38tfhZXxkFLcNiTYkYWkpjMsfn7_sGDo5EcJZh.gif
v2.1.5 has this fix in it
Hi,
We have encountered an error during execution of InsertListAsync that we have not be able to resolve. If you can provide some assistance on this, it would be appreciated.
I've pasted the error along with the code being executed and the supporting sql objects.
Thanks!
Jim
///// C# Code public async Task InsertDocument(Document document) { using (var connection = await DataFactory.Instance.GetConnectionWithAsyncTransaction()) { await connection.InsertListAsync("InsertDocuments", new List { document });
connection.Commit();
}
}
/\ Object: Table [dbo].[Document] Script Date: 03/29/2013 15:10:09 **/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[Document]([DocumentId] [int] IDENTITY%281,1%29 NOT NULL, [DocumentName] [nvarchar]%28150%29 NOT NULL, [Location] [nvarchar]%28750%29 NOT NULL, [EntityId] [int] NOT NULL, [EntityTypeId] [int] NOT NULL, [DocumentSequence] [int] NOT NULL, [DocumentTypeId] [int] NOT NULL, [DocumentContents] [varbinary]%28max%29 FILESTREAM NOT NULL, [DocumentGuid] [uniqueidentifier] ROWGUIDCOL NOT NULL, [CreatedTime] [datetime] NOT NULL, [CreatedBy] [int] NOT NULL, [UpdatedTime] [datetime] NOT NULL, [UpdatedBy] [int] NOT NULL, CONSTRAINT [PK_Document] PRIMARY KEY CLUSTERED %28 [DocumentId] ASC %29WITH %28PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON%29 ON [PRIMARY] FILESTREAM_ON [FileStreamCRM], CONSTRAINT [UQDocument0847AE4E627C2C96] UNIQUE NONCLUSTERED %28 [DocumentGuid] ASC %29WITH %28PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON%29 ON [PRIMARY]) ON [PRIMARY] FILESTREAM_ON [FileStreamCRM]
GO
SET ANSI_PADDING OFF GO
ALTER TABLE [dbo].[Document] WITH CHECK ADD CONSTRAINT [FK_Document_CreatedBy] FOREIGN KEY([CreatedBy]) REFERENCES [dbo].Contact GO
ALTER TABLE [dbo].[Document] CHECK CONSTRAINT [FK_Document_CreatedBy] GO
ALTER TABLE [dbo].[Document] WITH CHECK ADD CONSTRAINT [FK_Document_UpdatedBy] FOREIGN KEY([UpdatedBy]) REFERENCES [dbo].Contact GO
ALTER TABLE [dbo].[Document] CHECK CONSTRAINT [FK_Document_UpdatedBy] GO
ALTER TABLE [dbo].[Document] ADD CONSTRAINT [DF_Document_DocumentSequence] DEFAULT ((0)) FOR [DocumentSequence] GO
ALTER TABLE [dbo].[Document] ADD CONSTRAINT [DF_Document_DocumentGuid] DEFAULT (newid()) FOR [DocumentGuid] GO
/\ Object: UserDefinedTableType [dbo].[DocumentTable] Script Date: 03/29/2013 15:09:12 **/ CREATE TYPE [dbo].[DocumentTable] AS TABLE( [DocumentId] [int] NOT NULL, [DocumentName] nvarchar NOT NULL, [Location] nvarchar NOT NULL, [EntityId] [int] NOT NULL, [EntityTypeId] [int] NOT NULL, [DocumentSequence] [int] NOT NULL, [DocumentTypeId] [int] NOT NULL, [DocumentContents] varbinary NOT NULL, [DocumentGuid] [uniqueidentifier] NOT NULL, [CreatedTime] [datetime] NOT NULL, [CreatedBy] [int] NOT NULL, [UpdatedTime] [datetime] NOT NULL, [UpdatedBy] [int] NOT NULL ) GO
/\ Object: StoredProcedure [dbo].[InsertDocuments] Script Date: 03/29/2013 14:51:45 **/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[InsertDocuments](@Documents [DocumentTable] READONLY) AS BEGIN Insert into [Document] Output Inserted.DocumentId select DocumentName,Location,EntityId,EntityTypeId,DocumentSequence,DocumentTypeId,DocumentContents,null,GetDate(),CreatedBy,GetDate(),UpdatedBy
END
at Insight.Database.CodeGenerator.ObjectListDbDataReader.GetBytes(Int32 ordinal, Int64 dataOffset, Byte[] buffer, Int32 bufferOffset, Int32 length) in c:\projects.net\Open\Insight\Insight.Database\Insight.Database\CodeGenerator\ObjectListDbDataReader.cs:line 316 at Microsoft.SqlServer.Server.ValueUtilsSmi.SetBytes_FromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, Int32 ordinal, SmiMetaData metaData, DbDataReader reader, Int32 offset) at Microsoft.SqlServer.Server.ValueUtilsSmi.FillCompatibleSettersFromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, IList
1 metaData, DbDataReader reader) at Microsoft.SqlServer.Server.ValueUtilsSmi.SetDbDataReader_Unchecked(SmiEventSink_Default sink, SmiTypedGetterSetter setters, Int32 ordinal, SmiMetaData metaData, DbDataReader value) at Microsoft.SqlServer.Server.ValueUtilsSmi.SetCompatibleValueV200(SmiEventSink_Default sink, SmiTypedGetterSetter setters, Int32 ordinal, SmiMetaData metaData, Object value, ExtendedClrTypeCode typeCode, Int32 offset, Int32 length, ParameterPeekAheadValue peekAhead) at System.Data.SqlClient.TdsParser.WriteSmiParameter(SqlParameter param, Int32 paramIndex, Boolean sendDefault, TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.TdsExecuteRPC(_SqlRPC[] rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc, Boolean sync, TaskCompletionSource
1 completion, Int32 startRpc, Int32 startParam)