DataStorageMSSQLServer {shiny.telemetry} | R Documentation |
Data storage class with MS SQL Server provider
Description
Implementation of the DataStorage R6 class to MS SQL Server backend using a unified API for read/write operations. This provider requires a configured and named ODBC driver to be set up on your system, for example, "ODBC Driver 17 for SQL Server" or "ODBC Driver 18 for SQL Server".
Note that MS SQL Server support requires a subtly different database schema: the 'time' field is stored as a 'DATETIME' rather than a 'TIMESTAMP'.
Super classes
shiny.telemetry::DataStorage
-> shiny.telemetry::DataStorageSQLFamily
-> DataStorageMSSQLServer
Methods
Public methods
Inherited methods
Method new()
Initialize the data storage class
Usage
DataStorageMSSQLServer$new( username = NULL, password = NULL, hostname = "127.0.0.1", port = 1433, dbname = "shiny_telemetry", driver = "ODBC Driver 17 for SQL Server", trust_server_certificate = "NO" )
Arguments
username
string with a MS SQL Server username.
password
string with the password for the username.
hostname
string with hostname of the MS SQL Server instance.
port
numeric value with the port number of MS SQL Server instance.
dbname
string with the name of the database in the MS SQL Server instance.
driver
string with the name of the ODBC driver class for MS SQL, for example "ODBC Driver 17 for SQL Server".
trust_server_certificate
string with "NO" or "YES", setting whether or not to trust the server's certificate implicitly.
Method clone()
The objects of this class are cloneable with this method.
Usage
DataStorageMSSQLServer$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Examples
## Not run:
data_storage <- DataStorageMSSQLServer$new(user = "sqlserver",
password = "mysecretpassword", hostname = "servername", port = 1433,
dbname = "my_db", driver = "ODBC Driver 17 for SQL Server",
trust_server_certificate = "NO")
data_storage$insert("example", "test_event", "session1")
data_storage$insert("example", "input", "s1", list(id = "id1"))
data_storage$insert("example", "input", "s1", list(id = "id2", value = 32))
data_storage$insert(
"example", "test_event_3_days_ago", "session1",
time = lubridate::as_datetime(lubridate::today() - 3)
)
data_storage$read_event_data()
data_storage$read_event_data(Sys.Date() - 1, Sys.Date() + 1)
data_storage$close()
## End(Not run)