• April 17th, 2010 @ 8:57 PM by Jean-Francois LEBON | 2 Comments

    Surprisingly, I still see some of my customers using Sql BackTrack to backup their Sybase ASE databases, even with simple backup strategy such as "dump database"… Sql BackTrack is a great third tool package to complete the "backup/restore tools" provided by Sybase ASE. But Sql BackTrack license cost can be very expensive. In this hard economic area, you can help your company to cut costs by skipping Sql BackTrack. How ? By using only new backup features Sybase implemented this last decade, and some work !

    When I discuss with my customers the reasons why they use Sql BackTrack, they answer:

    1°) "on the fly" backup compression capability.
    2°) restore objects DDL (tables indexes views etc…) from backups files.
    3°) databases are saved directly to TSM thanks to the OBSI module (additional cost).

    For each key requirements mentioned above, Sybase has a solution or a workaround for it ! Read more…


    Tags: , , , ,

  • April 5th, 2010 @ 6:15 PM by Jean-Francois LEBON | Be the 1st to comment

    First, “bcp OUT” syslogins from your ASE v12.5 dataserver:

    bcp tempdb..syslogins out master.v125.syslogins.bcp -c -t"|" -r"\n" -Usa -SSYBPARFRDEV02_DS

    Then, connect to your ASE v15 dataserver and create in tempdb a table based on the v12.5 syslogins table (you can reverse the syslogins ddl from Sybase Central or from DDLgen tool):

    isql -Usa -SSYBPARFRDEV01_DS -w1000

    create table tempdb..ase125logins (
    suid        int           not null,
    status      smallint      not null,
    accdate     datetime      not null,
    totcpu      int           not null,
    totio       int           not null,
    spacelimit  int           not null,
    timelimit   int           not null,
    resultlimit int           not null,
    dbname      sysname(30)   null,
    name        sysname(30)   not null,
    password    varbinary(30) null,
    language    varchar(30)   null,
    pwdate      datetime      null,
    audflags    int           null,
    fullname    varchar(30)   null,
    srvname     varchar(30)   null,
    logincount  smallint      null,
    procid      int           null
    )
    lock allpages
    on 'default'
    go

    Now you can “bcp IN” the v12.5 syslogins table into the ASE v15 dataserver:

    bcp tempdb..ase125logins in master.v125.syslogins.bcp -c -t"|" -r"\n" -Usa -SSYBPARFRDEV01_DS

    What’s next ? Connect to the ASE v15 dataserver, and insert the logins from the v12.5 syslogins table into the ASE v15 master..syslogins table. To avoid insert failures because of duplicate logins id, I exclude here the logins ’sa’,'probe’ and ‘guest’:

    isql -Usa -SSYBPARFRDEV01_DS -w1000

    sp_configure 'allow updates',1
    go
    insert master..syslogins
    select *,null,null,null,null,null
    from tempdb..ase125logins
    where name not in ('sa','probe','guest')
    go
    sp_configure 'allow updates',0
    go

    Character Set convertion issue:

    Before to bcp syslogins, consider each dataserver’s character set. If character set are different between dataservers, you’ll need to modify your bcp commands accordingly. Let’s imagine this particular case: SYBPARFRDEV02_DS is roman8 and SYBPARFRDEV01_DS is utf8.

    “bcp OUT” then would be:
    bcp tempdb..syslogins out master.v125.syslogins.bcp -c -t"|" -r"\n" -Jroman8 -Usa -SSYBPARFRDEV02_DS

    “bcp IN” then would be:
    bcp tempdb..ase125logins in master.v125.syslogins.bcp -c -t"|" -r"\n" -Jroman8 -Y -Usa -SSYBPARFRDEV01_DS

    Option -Y specifies character-set conversion is disabled in the server, and is instead performed by bcp on the client side when using “bcp IN”.

    Cross-platform issue:

    Your syslogins is coming from a ASE dataserver prior to version 15.0.2 ? Then end-user passwords may not work anymore after a cross-platform bcp. Actually the hash value stored in syslogins..password column is computed natively inside ASE, regarding the byte ordering of the platform (little/big endian). So, depending of platform endianess, you may have to reset all logins passwords. Your syslogins comes from ASE 15.0.2 or above ? Then you should not have this problem. Indeed the hash value stored in syslogins..password column is no longer implemented natively inside ASE. As of ASE 15.0.2, password hash value generation has been improved and is now platform-independent thanks to 3rd-party cryptographic libraries standing outside the ASE executable.


    Tags: , , , , ,

  • March 21st, 2010 @ 5:14 PM by Jean-Francois LEBON | Be the 1st to comment

    When speaking of moving/copying database between dataservers, database “dump and load” strategy usually come up in mind. Thanks to mount, unmount and quiesce database commands, you can sometimes replace advantageously “dump/load” operations.

    1°) Moving a database:

    I assume here we want to move completely the database DBLA01 from source dataserver SYBPARFRDEV01_DS to destination dataserver SYBPARFRDEV02_DS. Both dataservers are on the same machine. Database DBLAB01 has it’s own devices.

    Read more…


    Tags: , , , , ,

  • February 19th, 2010 @ 9:19 PM by bradwery | Be the 1st to comment

    QweryBuilder, is a unique database development tool with a very simply purpose, to make accessing data from a database simple, quick, accurate and efficient. QweryBuilder implements innovative ideas to make this possible. An end user can extract and update data without writing a line of SQL. Database developers can create procedures, tables, views and triggers with fewer keystrokes. It currently works with Sybase ASE, iAnywhere SQL Anywhere, Microsoft SQL Server and Oracle. An evaluation version of QweryBuilder can be downloaded from www.Werysoft.com.

    Read more…


    Tags: , , , ,

  • January 16th, 2010 @ 8:25 PM by Jean-Francois LEBON | Be the 1st to comment

    Recently, I successfully compiled Apache and Php to use a Sybase ASE v15.0.3 dataserver on CentOS v5.4 (32 bits). Apache was compiled with DSO support to use Php as a dynamically loadable module. This is how I did it: Read more…


    Tags: , , , , ,