SQL Anywhere: как получить временную метку начала транзакции? - PullRequest
0 голосов
/ 04 июня 2018

Я хотел бы получить отметку времени начала транзакции с SQL Anywhere 17.

Ниже приведен пример сценария в Powershell:

Add-Type -AssemblyName ("Sap.Data.SQLAnywhere.v4.5, Version=17.0.8.40434, Culture=neutral, PublicKeyToken=f222fc4333e0d400")
$connectionString = "DSN=My_Source;DBN=My_Database;UID=My_User;PWD=My_Password;"
$conn = New-Object Sap.Data.SQLAnywhere.SAConnection($connectionString)
$conn.Open()

$cmd = New-Object Sap.Data.SQLAnywhere.SACommand('SELECT NOW()', $conn)
$cmd.Transaction = $conn.BeginTransaction([System.Data.IsolationLevel]'ReadCommitted')
$dt = New-Object System.Data.DataTable

0..1 | % {
    Start-Sleep $_
    $reader = $cmd.ExecuteReader()
    $dt.Clear()
    $dt.Load($reader)
    Write-Host $dt.Rows[0].ItemArray[0]
}

$cmd.Transaction.Rollback()
$cmd.Dispose()
$conn.Close() 

И вывод:

6/4/2018 11:40:01
6/4/2018 11:40:02 *

Как вы видите, последовательные вызовы функции NOW () обеспечивают увеличениеотметка времени.
Я тоже безуспешно пытался использовать «ВЫБЕРИТЕ ТЕКУЩЕЕ ВРЕМЯ».

Любой совет?

...