Sybase Database

Sybase, a subsidiary of SAP, builds a client/server relational database management system. Products include Adaptive Server Enterprise (ASE), Adaptive Server Anywhere (ASA), Sybase Unwired Platform (SUP) for mobile applications, Afaria for enterprise mobile device management and IQ for data warehouse and big data applications.

Share tech news, updates, or what's on your mind.

Sign up to Post

Hello Experts,
Currently I am in the process of comparing a large number of tables between two databases. The source db is Sybase and the destination to which it was migrated to is SQL Server. One simple but a tedious way is to save the output as text files and compare it with each other using file comparison, which really is not efficient when the rows are several hundred thousands. Hence, would like to know if there is an easy way out.

Thanks in Advance!
I have a Sybase Anywhere 16 database. I was wondering if there was anyway of see who or when a row or column was last changed. I am thinking there is not but I am not that familiar with Sybase.
SELECT COUNT ( DISTINCT cust_code ) AS "Number of employees"
FROM orders;

checking above query at

how to display those unique values of  cust_code rather than just count
please advise
WHERE District= "California";

what is difference between above and below query?

WHERE DISTRICT = "California";

Please advise
Need to know if its possible in SAP Plant Maintenance to do a manual call on just ONE maintenance item # on a multi-item maintenance plan. For example, I have a maintenance plan # 1001 that has 99 task list items on it, varying in intervals from daily to annually, and one of those task lists maint items is # 567, I want to manually call just that 567 item to generate a work order tomorrow. I know if I were to create a maintenance plan for every task list, this would not be a problem, but my maintenance plans have many task lists on them and I cannot figure out how to manually call just ONE of them and not any others on that maintenance plan.
thx experts
In Sybase sql how do I check if a stored procedure exists?
If the procedure exists I need to recreate it.

If it does not exists I need to also create it.
I wrote some SYbase sql to check if a column exists. If it does not exists I create a new column in the table. It almost works but something is wrong with my exec statement at line 3. When I try and run the code code block below I get an error message --> stored procedure '"ALTER TABLE dbo.customers ADD CustLoyalty VARCHAR(20)"' not found.
 So can someone tell me what is wrong at line 3 below?

1  if not exists (select 1 from syscolumns where id= object_id('dbo.customers') and name = 'CustLoyalty')
2   begin
3  exec "ALTER TABLE dbo.customers ADD CustLoyalty VARCHAR(20)"
4  end
My question involves not only Oracle but Sql server and Sybase. I am wondering if there is a way to monitor database changes so to prevent catastrophic events so to speak in the database. By catastrophic events, below are some examples.
The reason I am asking this is that on my job I work with about 6 different databases. two are Oracle, two are Sybase and two are Sql server. I need to somehow monitor any catastrophic changes to the database. Is there a way to do that? I have an application that accesses the databases and of course the application will crash if certain catastrophic events occur. But sometimes running the application is not enough, so to somehow monitor any database changes would be great.

- Deletion of linked servers
- Deletion of user accounts
- Deletions from key tables
But whenever possible have a unique clustered index.  For example, on the state codes table, a unique clustered index on state_code would work just fine.
i am reading as above.
what is meaning of unique clustered index and how it is different from regular index. please let me know advantages of using it.

please advise
I had a situation where a '\x0d' charater was appearing (appended) to the data in a single column.

In a stored procedure, data is retrieved and a #table is used for data manipulation.
At the end of the proc, the data is inserted into a permenant table, selecting from the #table.
However, in 1 column (not all) a carriage return, '\x0d', was appended to the data.

this was not in the #table and I could not see why this was happening.

I recompiled the permenant table and the error disappeared.

My concern is this is a production procedure & table, and it is not feasible to re-create the table and rerun the procedure every time (if) it reappears.

Any experience of this issue?
Any theories??

why we need junction table for many to many.

i am not clear on that concept. can you please elaborate with example tables with data?
i am going through below link but not completely clear
please advise
What is normalization concept

if a table called Student as below with 4 columns and data as below

Student table

StudentName YearOfStudy Subject TeacherName
john                    10thGrade    Maths    Ashley

why it is better to move away Teacher information to separate table as below

Teacher Table

TeacherName TeachingSubject
Ashley                 Maths

what is various types of normalizations?
Please advise

I need your help please.

I'm using Sybase database to complete this task.
I have update BSTX_TEXT field that is VARBINARY TEXT

The field currently encrypted and stored as VARBINARY TEXT
what I want is to change the text field name in it.

Is there a way to read this VARBINARY ?


i am not good with table relationships on primary foreign key and 1-n and n-1 etc relationships, data model diagram reading esp when there are 100 tables connecting one other? how do i go about digesting those diagrams.
shoe i take printout and using a pencil mark physically which table is talking to which super table and sub table.

please advise any good links, resources, training, free video tutorials on this.
this concept is same across any kind of database right?
Does anyone have some code they can share with me. I need to grab table names in a database and grant permissions on the tables. I think this can be done with a Cursor, but I don't know how to do it, and am up against a deadline. If someone can help I would really appreciate it.
We are working with a Sybase database and would like to know the names of all of the linked servers, if any; which are currently set up in Sybase ASE. Does anyone know how to look at the linked servers for Sybase?
Hello Experts

How to set the column width in sybase databse.I am looking for alternative of oracle alternative "column <column name> format a<width>" in Sybase.

Vinit kumar
Dears, kindly note this case,
we have Sybase ASE, I take a full dump daily at midnight, and an incremental dump every 30 minutes, I know the dump transaction truncates the log and this is what happened usually, but sometimes the dump transaction taken successfully while the transaction log INCREASE its size for a period maybe 3 days, I think this is because an open transaction which is not committed yet,
how can I be sure about my thinking, and how can I found what is the uncommitted transaction, such a transaction is executed by other employees and in the background of our application , i.e  no body know exactly what is a statement

Dears, kindly help in the following case:

I want to archive a very large table in our production database, by moving it's data to an exact table in another database on another server, then delete data from the original table.

but I want to do this archiving periodically, this means, I need to set a range of data to be moved , I'm planning to use bcpout, then bcp in in the target table,

as we cannot set a range by this tool , I'm thinking to insert part of data in a temp table

(select * into tempdb..tbl1 from tbl1 where date between @date1 and @date2),

then use bcpout on this temp table.

But the case is the data which will copied in the temp table is about 300 MB, while the unused space in the temp database is just 120 MB.

this temp database in the production server, and it is used besides the prod database in many application,

is there any hint to over this problem, or there is another way to archive my data?

please help.
 alert VARCHAR2(100);
      rowcount      number;

if (alert=Alert_button2)then

elsif (x=Alert_button1)then
      SELECT COUNT(*) INTO rowcount FROM om_customer WHERE cust_credit_ctrl_yn = :Rep_value_3;
      if (rowcount>0) then
      UPDATE om_customer SET cust_credit_ctrl_yn='Y'
   (SELECT * FROM om_customer
   WHERE cust_credit_ctrl_yn= :Rep_value_3
   and cust_code= :Rep_value_2));
Hi Experts,
How to check the status of Sybase database are online or offline.
I know sp_helpdb , But is there any other better command which shows state of database.

I am working with VS2015 C#. Trying to execute a stored procedure from a Sybase db.

It seems to be not receiving the parameters I am trying to send it. I attached the code I'm using with the error msg that I'm receiving.

I'm using this connection string:
Data Source={Adaptive Server Enterprise};; db=db_cis00;uid=cis;pwd=hotstam;

I am able to receive data back from this db by using embedded sql, but the sp is having issues.

Do you guys see anything I could try differently?

Hi Expert,
We are not sure what is the use of SID_AUDIT database, but i understood we will created this as part of post configuration
Can you please tell us what is the use of CMS and Audit database.
Some times database  fills up and we need to add 20gb of space.
Can you tell us how can we analyse this situation.
Hi Team,

I need to write a stored procedure to insert and delete a record in a table in sybase . Iam new to Sybase , below is the code I wrote in Oracle stored procedure
-- Oracle version
Create or replace procedure p1 (id number , status out number)
insert into t1 values (id);

delete from t2 where empid=id;
when others then
dbms_output.put_line(SQLCODE || SQLERRM);

I need to write the above logic in sybase , any help is really appreciated.  I have tried the below code  , need an help on the exception handling section

create procedure p1 (@id int , out @status int)

insert into t1values (@id);
delete from t2 where empid=@id;
set @status=0;
-- Need help on how to write an exception block which can handle the error

I am accessing in Access, using the sybase ase 15.7 driver, a sybase table that has date/time fieds. However, when accessing that table over an ADODB connection, the values returned are always only a date without time. If I use convert(varchar(8), <datetime field name>, 8) to get the time part, I invariably get a 00:00:00 time, although I KNOW that these fields all have a non-zero time value.

The weirdest is that, if I just open the table in Access (using the SAME ODBC driver to link the table), I see the time in these fields !

What is going on, and how can I get the time portion of these dates ?

Thanks for help.

Sybase Database

Sybase, a subsidiary of SAP, builds a client/server relational database management system. Products include Adaptive Server Enterprise (ASE), Adaptive Server Anywhere (ASA), Sybase Unwired Platform (SUP) for mobile applications, Afaria for enterprise mobile device management and IQ for data warehouse and big data applications.

Top Experts In
Sybase Database