Re: FreeTDS does not work with Sybase SQL Anywhere 10, 11 or 12

"James K. Lowden" <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
On Mon, 8 Oct 2012 18:49:03 +0000
Tony Esposito <[email protected]> wrote:

> It appears that the FreeTDS ODBC drivers are converting the
> SQLGetTypeInfo ODBC call to the Sybase stored procedure
> sp_datatype_info. That's ok when running against Sybase Adaptive
> Server Enterprise but the drivers will fail against Sybase SQL
> Anywhere because the stored procedure sp_datatype_info has been
> removed/deprecated.

I wonder how many customers were happy about that?  

Patches welcome.  The query below would be a start.  

--jkl

http://infocenter.sybase.com/help/topic/com.sybase.help.ase_15.0.sprocs/html/sprocs/sprocs229.htm  
http://manuals.sybase.com:80/onlinebooks/group-pbarc/conn5/sqlug/@Generic__BookTextView/71268;pt=69960#X
http://manuals.sybase.com:80/onlinebooks/group-pbarc/conn5/sqlug/@Generic__BookTextView/69960;pt=69960#X

select	  domain_name	as type_name
	, type_id	as data_type
	, precision	as precision
	, cast(NULL as varchar(32))   as literal_prefix
	, cast(NULL as varchar(32))   as literal_suffix
	, cast(NULL as varchar(32))   as create_params
	, cast(NULL as smallint)      as nullable
	, cast(NULL as smallint)      as case_sensitive
	, cast(NULL as smallint)      as searchable
	, cast(NULL as smallint)      as unsigned_attribute
	, cast(NULL as smallint)      as money
	, cast(NULL as smallint)      as auto_increment
	, cast(NULL as smallint)      as local_type_name
from	master.dbo.SYSDOMAIN
UNION
select	  type_name	as type_name
	, type_id	as data_type
	, width 	as precision
	, cast(NULL as varchar(32))   as literal_prefix
	, cast(NULL as varchar(32))   as literal_suffix
	, cast(NULL as varchar(32))   as create_params
	, nulls		   	      as nullable
	, cast(NULL as smallint)      as case_sensitive
	, cast(NULL as smallint)      as searchable
	, cast(NULL as smallint)      as unsigned_attribute
	, cast(NULL as smallint)      as money
	, cast(NULL as smallint)      as auto_increment
	, cast(NULL as smallint)      as local_type_name
from	master.dbo.SYSUSERTYPE
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.