(1) C...
[..]
$Cmd.CommandText = "INSERT INTO test (id, x) VALUES (3, 4)"
[..]
Egyszerre sok adatot tranzakción belül érdemes beszúrni, mert különben lassú lesz.
$dbTrans = $Con.BeginTransaction()
$Cmd = $Con.CreateCommand()
$Cmd.CommandText = "INSERT INTO test(id,x) VALUES(?,?)"
$Field1 = $Cmd.CreateParameter()
$Field2 = $Cmd.CreateParameter()
$Cmd.Parameters.Add($Field1);
$Cmd.Parameters.Add($Field2);
$Field1.Value = 12;
$Field2.Value = 99;
$Cmd.ExecuteNonQuery();
$dbTrans.Commit()
Nem tűnik úgy hogy működne...Működik.
Annak, aki szeretne kísérletezni: bulk-insert1.ps1
bulk-insert2.ps1
800MHz : 100.000 INSERTs : 16s
800MHz : 1.000.000 INSERTs : 3m 15s
1700MHz : 1.000.000 INSERTs : 69s
Vajon hogy lehet egy megszakított COMMIT-ot elkapni és a zár alól feloldani az adatbázist?
(2) .R..
[..]
$Cmd.CommandText = "SELECT * FROM test"
$dr = $Cmd.ExecuteReader()
# táblanevek kiíratása: #
for ($i=0;$i -lt $dr.FieldCount;$i++) {
Write-Host $dr.GetName($i) $dr.GetDataTypeName($i)
}
while ($dr.Read())
{
write-host $dr.GetValue(0) " " $dr.GetValue(1)
}
(3) ..U.
(4) ...D
- foofighter blogja
- A hozzászóláshoz be kell jelentkezni
- 1088 megtekintés