1. Кто-нибудь успешно использовал ODBC от С# до Sybase ASE?
2. Или лучше, кто-нибудь успешно использовал Sybase ASE с .NET Core?
Я использую .NET Core 1.1, а текущая Sybase.AdoNet4.AseClient.dll не работает, поэтому я пытаюсь использовать ODBC. Я попытался использовать два пакета ODBC:
- Mono.Data.OdbcCore(NuGet)
- MSA.Net.Core.ODBC(NuGet)
Оба хорошо работают с встроенными запросами, и оба хорошо работают, вызывая процедуры Sybase Store WITHOUT Parameter, но обе имеют ту же самую точную ошибку при попытке отправить параметры в sp, где требуются параметры.
Вот фрагмент:
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "XX_GetLookUp";
command.Parameters.Add("@Type", OdbcType.VarChar).Value = "ACC";
using (var reader = command.ExecuteReader()) {
...
}
Я постоянно получаю следующую ошибку во время команды. ExecuteReader(): System.Data.Odbc.OdbcException: "ERROR [ZZZZZ] [SAP] [ASE ODBC Driver] [Adaptive Server Enterprise] Процедура iKYC_GetLookUp ожидает параметр @Type, который не был предоставлен.
Я попытался использовать Type с и без @, но каждый из них генерирует ту же ошибку.
Я также попробовал несколько других ароматов:
- command.CommandText = "{вызов dbo.iKYC_GetLookUp (?)}";
- command.CommandText = "{вызов dbo.iKYC_GetLookUp}";
- command.CommandText = "{dbo.iKYC_GetLookUp (?)}";
- command.CommandText = "dbo.iKYC_GetLookUp (?)";
- command.CommandText = "dbo.iKYC_GetLookUp?";
Здесь каждый из них генерирует: System.Runtime.InteropServices.SEHException: "Внешний компонент выбрал исключение".
Я также попытался создать объект параметра отдельно, без везения (такая же ошибка, отсутствует @Type):
OdbcParameter p = new OdbcParameter();
p.ParameterName = "@Type";
p.DbType = DbType.AnsiString;
p.Direction = ParameterDirection.InputOutput;
p.Value = "ACC";
cmd.Parameters.Add(p);
Как указано выше, если я делаю параметр как null, в процедуре хранилища код работает и данные возвращаются как ожидалось, , поэтому проблема возникает вокруг передаваемых параметров.
Кто-нибудь успешно использовал ODBC от С# до Sybase ASE? Кто-нибудь успешно использовал Sybase ASE с .NET Core?
Дополнительная информация: Я использую Visual Studio 2017 (v 15.2). Core 1.1 и с использованием Sybase ASE 16.0 sp2.