# $host='...'; $port='...'; $user = "..."; $pass = "..."; $dsn="dbi:Sybase;server=dbhDB;database=...;"; $dbh= DBI->connect("$dsn",$user,$pass) or die "can't connect"; $fileTableName="fileTable"; $cmd="SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='$fileTableName\'"; $fetchcmd= $dbh->prepare($cmd); $fetchcmd->execute(); if(@row= $fetchcmd->fetchrow_array){ print "the file table is there!!!\n"; }else { $createCmd=$dbh->prepare("create table $fileTableName (fileColumn VARBINARY(MAX) not null)"); $createCmd->execute() or die "can't create table"; $createCmd->finish(); } $fetchcmd->finish(); $insertcmd= $dbh-> prepare("insert into $fileTableName (fileColumn) values (CONVERT(varbinary(max),?))"); open FILE,"<","./a.b" or die "file"; binmode(FILE); $filelength = -s FILE; read(FILE,$fcontents,$filelength); print"did"; $insertcmd->bind_param(1,$fcontents,DBI::SQL_VARBINARY); $insertcmd->execute() or print" not "; $insertcmd->finish(); $sz=length($insert); print " succeed. size: $sz\n"; close(FILE); $dbh->disconnect;