System.Buffer.BlockCopy(Array src, Int32 srcOffset, Array dst, Int32 dstOffset, Int32 count) +0
FirebirdSql.Data.Gds.GdsDatabase.DatabaseInfo(Byte[] items, Byte[] buffer, Int32 bufferLength) +176
|
private void DatabaseInfo(byte[] items, byte[] buffer, int bufferLength)
{
lock (this)
{
try
{
// see src/remote/protocol.h for packet definition (p_info struct)
this.Send.Write(IscCodes.op_info_database); // operation
this.Send.Write(this.handle); // db_handle
this.Send.Write(0); // incarnation
this.Send.WriteBuffer(items, items.Length); // items
this.Send.Write(bufferLength); // result buffer length
this.Send.Flush();
GdsResponse r = this.ReadGenericResponse();
Buffer.BlockCopy(r.Data, 0, buffer, 0, bufferLength); //
此行抛出了异常
}
catch (IOException)
{
throw new IscException(IscCodes.isc_network_error);
}
}
}
|