调用AseDataReader的ExecuteReader时出现AccessViolationException

问题描述 投票:1回答:1

我收到此错误

System.AccessViolationException未处理 HResult = -2147467261 Message =尝试读取或写入受保护的内存。这通常表明其他内存已损坏。 源= Sybase.AdoNet4.AseClient 堆栈跟踪: 在Sybase.Data.AseClient.Unmanaged.ModifyCommandTextForSchemaOnly(String commandText,StringBuildermodifiedCommandText,Int32容量)处 在Sybase.Data.AseClient1.AseCommand.ModifyCommandTextForSchemaOnly(字符串commandText) 在Sybase.Data.AseClient1.AseCommand.GetCommandText(CommandBehavior commandBehavior) 在Sybase.Data.AseClient1.AseCommand.SetCommandStatement(CommandBehavior commandBehavior) 在Sybase.Data.AseClient1.AseCommand.Execute(CommandBehavior commandBehavior) 在Sybase.Data.AseClient1.AseCommand._ExecuteReader(CommandBehavior commandBehavior) 在Sybase.Data.AseClient1.AseCommand.ExecuteReader(CommandBehavior commandBehavior) 在Sybase.Data.AseClient.AseCommand.ExecuteReader(CommandBehavior commandBehavior)

通话时

Dim cm As AseCommand = New AseCommand("SELECT * FROM Results;", cn)
Dim rd As AseDataReader = cm.ExecuteReader(CommandBehavior.SchemaOnly)

其中cn是AseConnection。

我正在使用Sybase.AdoNet4.AseClient.dll的4.157.1000.0版本

ado.net sybase-ase
1个回答
0
投票

问题是SQL文本中的分号,将其删除,一切都很好。

Dim cm As AseCommand = New AseCommand("SELECT * FROM Results", cn)
© www.soinside.com 2019 - 2024. All rights reserved.