Я хотел бы получить отметку времени начала транзакции с 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 () обеспечивают увеличениеотметка времени.
Я тоже безуспешно пытался использовать «ВЫБЕРИТЕ ТЕКУЩЕЕ ВРЕМЯ».
Любой совет?