Annotation of wpscripts/epickup/dbops.pm, Revision 1.1
1.1 ! yason 1: #!/usr/bin/perl
! 2: use DBI;
! 3: use strict;
! 4: use conv; # to_local()
! 5: package dbops;
! 6:
! 7: our $EPD_ZAYAVKA_T = 0;
! 8: our $EPD_PROBA_T = 1;
! 9:
! 10: our $server = "MSSQL";
! 11: our $user = "it_men";
! 12: our $pass = "itmen712";
! 13: our $dsn = "DBI:Sybase:server=$server";
! 14: our $table = 'T$_EPD_File';
! 15: our $dbh;
! 16: our $sth;
! 17:
! 18: sub connect()
! 19: {
! 20: $dbh = DBI->connect($dsn, $user, $pass) or die "unable to connect to server $DBI::errstr";
! 21: }
! 22:
! 23:
! 24: sub select()
! 25: {
! 26: $dbh->do("use Manager");
! 27: }
! 28:
! 29:
! 30: sub disconnect()
! 31: {
! 32: $dbh->disconnect();
! 33: }
! 34:
! 35:
! 36: sub fetch($)
! 37: {
! 38: my $file_type = shift;
! 39: my $i = 0;
! 40: my @ID;
! 41: my @win_paths;
! 42:
! 43:
! 44: $sth = $dbh->prepare ("SELECT ID,win_path FROM $table WHERE File_type=$file_type AND Ready=1 AND Backed_up=0")
! 45: or die("fetch");
! 46:
! 47: $sth->execute( ) or die "unable to execute query! error $DBI::errstr";
! 48:
! 49: while( ($ID[$i], $win_paths[$i]) = $sth->fetchrow_array() )
! 50: {
! 51: if ($win_paths[$i] ne '')
! 52: {
! 53: # reuse with real unix path
! 54: $win_paths[$i] = conv::to_local($win_paths[$i]);
! 55:
! 56: # NOT checking existence of file here
! 57: }
! 58: else
! 59: {
! 60: log::stdout("fetch(): void element $win_paths[$i]\n");
! 61: }
! 62:
! 63: $i++;
! 64: }
! 65:
! 66: $sth->finish();
! 67:
! 68: return( (\@ID, \@win_paths) );
! 69:
! 70: } # fetch()
! 71:
! 72:
! 73: sub set($$$)
! 74: {
! 75: my $ID = shift;
! 76: my $field = shift;
! 77: my $value = shift;
! 78:
! 79: $sth = $dbh->prepare ("UPDATE $table SET $field=$value WHERE ID=$ID");
! 80: $sth->execute() or die "unable to update table! error $DBI::errstr";
! 81:
! 82: # Notreached if error
! 83:
! 84: $sth->finish();
! 85:
! 86: }
! 87:
! 88:
! 89: sub fixate($)
! 90: {
! 91: my $ID = shift;
! 92:
! 93:
! 94: $sth = $dbh->prepare ("UPDATE $table SET Backed_up=1 WHERE ID=$ID");
! 95: $sth->execute() or die "unable to update table! error $DBI::errstr";
! 96:
! 97: $sth->finish();
! 98: }
! 99:
! 100:
! 101: sub markok($)
! 102: {
! 103: my $ID = shift;
! 104:
! 105:
! 106: $sth = $dbh->prepare ("UPDATE $table SET Backed_up=1 WHERE ID=$ID");
! 107: $sth->execute() or die "unable to update table! error $DBI::errstr";
! 108:
! 109: $sth->finish();
! 110: }
! 111:
! 112: return(1);
CVSweb