Hello,
finally I found the solution for my version of database (Adaptive Server Enterprise/12.5.3/EBF):
In TOAD You have to go to
Tools Menu ->Options->
Database->SQL Dictionary->
Db.CommonSql -> DescribeTableColumns
Select Sybase:12.5.3 in selection combo and modify the query with the following sql:
select
sc.name as Column_Name,
sc.colid as Column_ID,
convert(bit, sc.status & 8) as Nullable,
convert(bit, sc.status &128) as Is_Identity,
case when sc.usertype = -1 then sxt.xtname else st.name end as Datatype,
case
when sc.usertype = 34 then sc.length/2
when sc.usertype = 35 then sc.length/2
else sc.length
end
AS Datatype_Length,
sc.prec as ‘Precision’,
sc.scale as Scale,
convert(bit, case when st.name in (‘char’, ‘nchar’, ‘varchar’, ‘nvarchar’, ‘binary’, ‘varbinary’, ‘unichar’, ‘univarchar’) then 1 else 0 end) as variable,
convert(bit,
case
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,1) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,2) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,3) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,4) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,5) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,6) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,7) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,8) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,9) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,10) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,11) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,12) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,13) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,14) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,15) = sc.name then 1
when index_col(db_name() + ‘.’ + user_name(so.uid) + ‘.’ + object_name (si.id),si.indid,16) = sc.name then 1
else 0
end) onPrimaryKey,
convert (bit, isnull(sc.status2, 0) & 128) as encrypted,
convert (bit, case when st.usertype > 100 then 1 else 0 end) usertype,
scmt.text as DefaultValue,
scmt2.text as CheckConstraint,
0 as DefaultValueType,
‘’ as EKUser, --su.name as EKUser,
‘’ as EncryptionKey, --seo.name as EncryptionKey,
‘’ as BindValueName
from
syscolumns sc,
sysobjects so,
systypes st,
sysxtypes sxt,
sysindexes si,
syscomments scmt,
syscomments scmt2–,
–sysobjects seo,
–sysusers su
where
sc.id = so.id
and sc.usertype = st.usertype
and so.name = {{StringQuote(?)}}
and so.uid = user_id({{StringQuote(?)}})
and so.id *= si.id
and sc.xtype *= sxt.xtid
and si.indid > 0
and convert(bit, si.status & 2048) = 1
and sc.cdefault *= scmt.id
and sc.domain *= scmt2.id
and charindex(‘check’, lower(scmt2.text)) = 1
–and sc.encrkeyid *= seo.id
–and seo.uid *= su.uid
order by sc.colid
Press Apply and Ok buttons and the error is gone.
Now database explorer and intellisense in editor works fine.
Thanks for the support
Jose Luis