powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / GUI <--> ??? <--> Sybase (ASE)
14 сообщений из 14, страница 1 из 1
GUI <--> ??? <--> Sybase (ASE)
    #34943384
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В контексте : что вообще может юзацо для связки?
1. ODBC - глюкало
2. ADO (OLE DB) - глюкало
3. BDE - глюкало
4. CT-Lib - Win32 WinApp only, IMHO
5. DB-Lib - устарело
6. ???
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34943399
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Embedded SQL
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34943400
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zhora
Embedded SQL

ну и как его дернуть, 4 example, из того же VCL || ASP.NET?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34943460
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а может вы не правильно пользуете указанные библиотеки?
работал с odbc, ctlib, dblib и никаких проблем.

согласно доке , для numeric в БД надо пользовать AseDbType.Numeric

ищите проблемы в своем коде...

ЗЫ: CTLIB существует для многих платформ а не только для винды.
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34943461
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помню, что мне удалось найти какую-то версию одбц дров, которые меня удовлетворяли.
Какая именно, уже не помню, хотя можно постораться. Юзал как-раз из борланд билдера через свзяку BDE-ODBC. По крайней мере хранимки отрабатывали нормально.
Еще под VCL существуют компоненты прямого досткпа через openclient, но они за денежку. Смотрите на них.
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34945319
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry
а может вы не правильно пользуете указанные библиотеки?

А что там мудренного-то? Задал ConnectionString , а дальше юзай std System.Data.Odbc , System.Data.OleDb ...
Dmitry
работал с odbc, ctlib, dblib и никаких проблем

Давайте у точним: работали из-под чего? Я работал из .NET && C++ Builder. Как видете - нарыл предостаточно.
Dmitry
для numeric в БД надо пользовать AseDbType.Numeric

Во-первых: пробовал и AseDbType.Numeric и AseDbType.Decimal - шо мертвому припарки.
Во-вторых: у IDataParam ЭстЪ property DbType
MSDN
The PrvDbType (where Prv represents the provider-specific prefix) and DbType are linked. Therefore, setting the DbType changes the PrvDbType to a supporting PrvDbType.
[/qut]
Так вот
Код: plaintext
1.
Parameter.DbType=DbType.Decimal;
приводик к тому, что Parameter.AseDbType устанавливаецо в AseDbType.Decimal. Раз они такие умные, то че ж они сами не присваивают AseDbType.Numeric?
[quot Dmitry]
ищите проблемы в своем коде...

Там и так уже настолько все просто, что проше некуда, 4 example:
Код: plaintext
1.
2.
3.
cmd.CommandType=CommandType.Text;
cmd.CommandText="select @@spid";
cmd.ExecuteScalar();
Проблема - не в коде. Особенно если один и тот же код под одной версией провайдера отрабатывает, а под другой - глючит.
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34946449
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работал из под С++, PHP, PowerBuilder
суть не в этом. odbc он и в .net odbc.

кстати возможно вы сайбейс клиента криво установили (разные версии друг с другом не дружат).
я видел у вас в постах версии длл-к но не видел версии клиентов сопровождающих этих провайдеров.
родные провайдеры обычно жестко привязаны к версии клиента.


по поводу ошибок конвертации:
Код: plaintext
1.
declare @x decimal
select @x =  12 . 345 
Error 241: Scale error during implicit conversion of NUMERIC value '12.345' to a DECIMAL field.

так что эта ошибка находится в вашем коде.
не суть важно что вы добились ее используя .net
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34946735
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry
возможно вы сайбейс клиента криво установили

Что Вы подразумеваете под "клиентом"? Для меня это просто набор dll\'ек посредством которых можно достучаться к БД. И, как показывает практика, ни ODBC, ни OLE DB можно вообще даже не install\'ировать в прямом смысле этого слова.
Dmitry
по поводу ошибок конвертации:
Код: plaintext
\ndeclare @x decimal\nselect @x =  12 . 345 \n
Error 241: Scale error during implicit conversion of NUMERIC value \'12.345\' to a DECIMAL field.

Ex_Soft
Код: plaintext
\ncmd.CommandText="{? = call sp_TestTypes_Decimal_10_6(? ,?)}";\n

Код: plaintext
\ncreate procedure sp_TestTypes_Decimal_10_6\n   @FDecimal_10_6 decimal( 10 , 6 ),\n   @FDecimal_10_6_out decimal( 10 , 6 ) output\nas\nbegin\n   declare\n     @RetVal int,\n     @tmpStr varchar( 1024 )\n\n   set @tmpStr=\'sp_TestTypes_Decimal_10_6: @FDecimal_10_6=\'||convert(varchar( 64 ),@FDecimal_10_6)\n   print @tmpStr\n   dbcc logprint(@tmpStr)\n   set @FDecimal_10_6_out = @FDecimal_10_6\n   set @tmpStr=\'sp_TestTypes_Decimal_10_6: @FDecimal_10_6=\'||convert(varchar( 64 ),@FDecimal_10_6)||\' @FDecimal_10_6_out=\'||convert(varchar( 64 ),@FDecimal_10_6_out)\n   print @tmpStr\n   dbcc logprint(@tmpStr)\n\n   set @RetVal= 65535 \n\n   return(@RetVal)\nend\n
Код: plaintext
\ndeclare\n   @ReturnValue int,\n   @Decimal_10_6_out decimal( 10 , 6 )\n\nexecute @ReturnValue=sp_TestTypes_Decimal_10_6  9999 . 999999 , @Decimal_10_6_out output\nselect @ReturnValue as ReturnValue, @Decimal_10_6_out as Decimal_10_6_out\n
Все - сухо. Мало того
Код: plaintext
\ncmd.CommandType=CommandType.StoredProcedure;\ncmd.CommandText="sp_TestTypes_Decimal_10_6";\nOleDbCommandBuilder.DeriveParameters(cmd);\ncmd.Parameters["FDecimal_10_6"].Value= 123 .45m;\ncmd.ExecuteNonQuery();\n
Все - сухо.
Dmitry
так что эта ошибка находится в вашем коде.

Давайте так: если у Вас, то, что у меня глючит отработает без ошибок - вот тогда я соберу свой моск в кулак и проанализирую, 4 example, ТРИ строчки
Код: plaintext
\ncmd.CommandType=CommandType.Text;\ncmd.CommandText="select @@spid";\ncmd.ExecuteScalar();\n
, что приводят к ошибке.
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34948663
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
признаю что ODBC

в частности syodase.dll
FileDescription Sybase ASE ODBC Driver
FileVersion 04.20.0067
ProductName Sybase ASE ODBC Driver
ProductVersion 12.5.1/P-EBF11786 ESD #02/04.20.0067

работает без libct.dll
--
НО. запрос типа
select @@spid
как и вызов процедуры

отрабатывает без проблем (не в .net).
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34949783
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry
работает без libct.dll

;) Они вообще, как я понял, полностью standalone\'вые, и независимые (п. 1.) от версий сервера. Вы думаете как я тестирую? У меня
dir %SYABASE%
....
<DIR> DataAccess
<DIR> DataAccess.15.0.0.130
<DIR> DataAccess.15.0.0.140
<DIR> DataAccess.15.0.0.152
<DIR> DataAccess.15.0.0.162
....
<DIR> ODBC
<DIR> ODBC.4.20.0.15
<DIR> ODBC.4.20.0.15
<DIR> ODBC.5.0.0.129
....
<DIR> OLEDB
<DIR> OLEDB.2.70.0.23
<DIR> OLEDB.2.70.0.32
<DIR> OLEDB.2.70.0.82

"...легким движением руки..."
(посредством xcopy) меняем версию клиента за считанные доли секунды...
BTW, у нас счаз вообще такой винегрет:
select @@version
Adaptive Server Enterprise/15.0.2/EBF 14332/P/NT (IX86)/Windows 2000/ase1502/2486/32-bit/OPT/Thu May 24 04:10:36 2007

+
ASE OLE DB Provider (sydaase.dll) ver. 2.70.0.23
+
sp_sproc_columns (п. 2.) от
select @@version
Adaptive Server Enterprise/12.5.3/EBF 12875 ESD#4/P/NT (IX86)/OS 4.0/ase1253/1/32-bit/OPT/Thu Sep 08 11:27:35 2005

и, типо, фунциклирует...
Dmitry
запрос типа
select @@spid
отрабатывает без проблем ( не в .net ).

Как запрос дергаем? 4 example, у VCL \'ного TADOQuery нЭт метода ExecuteScalar() . А Open() , тоже, отрабатывает без проблем:
1. Не рожаецо лишний коннект
2. Не входим в ступпор
Dmitry
вызов процедуры
отрабатывает без проблем ( не в .net ).

Аналогично: как подрываем процедуру (call-syntax etc)? Есть ли параметры? Input\'овские? Output\'овские? Их типы? Как их получаем/добавляем?
_________________
"Helo, word!" - 17 errors 56 warnings

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34950164
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запрос
"select @@spid"
SQLExecDirect
SQLBindCol(SQL_C_SHORT) т.к. @@spid - smallint в БД
SQLExtendedFetch

процедура
Код: plaintext
1.
2.
3.
4.
5.
create proc as_delme ( @aaa numeric( 5 , 2 ), @bbb numeric( 5 , 2 ) output)
as
begin
	select @bbb=@aaa* 2 . 0 
	return  0 
end

для @bbb SQLBindParameter SQL_PARAM_INPUT_OUTPUT SQL_C_DOUBLE
SQLExecDirect "{?=call dbo.as_delme(?,?)}"
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34956264
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не спорю (на характер, таки, - проверил
)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SQLCmd="{? = call sp_TestTypes_Decimal_10_6(? ,?)}";
SQLPrepare(hstmt,(SQLCHAR *)SQLCmd,SQL_NTS);

SQLINTEGER
   ReturnValue,
   cbReturnValue= 0 ,
   cbFDecimal_10_6= 0 ,
   cbFDecimal_10_6_out= 0 ;

SQLDOUBLE
   FDecimal_10_6= 123 . 45 ,
   FDecimal_10_6_out;

SQLBindParameter(hstmt, 1 ,SQL_PARAM_OUTPUT,SQL_C_SLONG,SQL_INTEGER, 0 , 0 ,&ReturnValue, 0 ,&cbReturnValue);
SQLBindParameter(hstmt, 2 ,SQL_PARAM_INPUT,SQL_C_DOUBLE,SQL_DECIMAL, 10 , 6 ,&FDecimal_10_6, 0 ,&cbFDecimal_10_6);
SQLBindParameter(hstmt, 3 ,SQL_PARAM_OUTPUT,SQL_C_DOUBLE,SQL_DECIMAL, 10 , 6 ,&FDecimal_10_6_out, 0 ,&cbFDecimal_10_6_out);
SQLExecute(hstmt);
выполняецо без проблем...
Получаецо Ваше утверждение
Dmitry.
odbc он и в .net odbc

несколько не соответствует действительности...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34956860
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft утверждение
Dmitry.
odbc он и в .net odbc

несколько не соответствует действительности...
Ну значит (нахрен этот дот нет) пользуйте С али яву.
Кстати даже в яве сайбес отличается.
Цикл по вытаскиванию резалт-сетов обязательно должен включать проверку на кол-во строк.
Код: plaintext
1.
ResultSet resultset = statement.getResultSet();
 statement.getUpdateCount();
--
А вообще надо открывать case...
я еще нашел "datadirect sybase wire protocol" odbc driver который идет с powerdesigner.
...
Рейтинг: 0 / 0
GUI <--> ??? <--> Sybase (ASE)
    #34956869
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry.
Ну значит (нахрен этот дот нет) пользуйте С али яву.

WWW'шный проект... ASP.NET... "...Родину, сынок, не выбирают..."

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / GUI <--> ??? <--> Sybase (ASE)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]