Thread mySQL: SET TRANSACTION READ ONLY (9 answers)
Opened by Gast at 2008-01-31 12:52

Gast Gast
 2008-01-31 12:52
#105378 #105378
Hallo zusammen,

habe wieder mal eine Aufgabe die ich nicht so ohne weiteres lösen kann. Ich wette hier im Forum findet sich einer der mir da weiter helfen kann.

Was ich machen will:

Ich will über ein Perlskript Daten aus dem Bugtracker Mantis lesen. Dort läuft eine MySQL DB. Da sich alle sorgen machen, dass ich die Datenbank "kaput lese" (?!?) darf ich also nur readonly auf die DB zugreifen. Im Moment habe ich ein Test-DB local, auf die ich zugreife. Mit folgendem Testskript:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
y $dbh = DBI->connect('DBI:mysql:test', 'root','root') or 
              die "Couldn't connect to database" . DBI->errstr;

$dbh->{ReadOnly} = 1;
       my $sth = $dbh->prepare('UPDATE test_table set LAST_NAME=\'UPDATED\' WHERE ID = ?')
                or die "Couldn't prepare statement: " . $dbh->errstr;

        print "Enter ID> ";
        while ($id = <>) {               # Read input from the user
          my @data;
          chomp $id;                                       # Trimms of "\n" after end of input!
          $sth->execute($id)             # Execute the query
            or die "Couldn't execute statement: " . $sth->errstr;

          $sth->finish;
                  
                  last;
          
        }
        print "Programm Ende!\n";
            
        $dbh->disconnect;


Über den Aufruf

Code (perl): (dl )
$dbh->{ReadOnly} = 1;

wollte ich die Transaktion auf readonly setzen. Nur leider funzt das so nicht.
Woran liegts? Oder bin ich völlig auf dem Holzweg?

Viele Grüße & schon mal vielen Dank im voraus,
Basti

View full thread mySQL: SET TRANSACTION READ ONLY