What Is Not Supported?

A frequently asked question that may also relate to troubleshooting is what functions are not supported by Historian OLE DB provider. Some of these unsupported items include:

  • Concatenation in SQL statements. For example, this syntax does not work:
    SELECT * FROM ihtags WHERE tagname= "MY_SERVER." + ihtags.Tagname
  • Calculation in SQL statements. For example, this syntax does not work:
    SELECT * FROM ihtags WHERE ihrawdata.value * 2 > ihtags.LoEngineeringUnits
  • SQL inserts, updates, deletes, or commits.
  • Ordering by columns not specified in the SELECT statement.
  • The semicolon (;) as a separator between SET and SELECT statements (which is commonly used in DTS and Oracle). Only a space or line break is necessary.
  • Nested SELECT statements.
  • The UCASE macro or other similar SQL syntax.
  • ASYNC executes in ADO and Visual Basic.
  • Bookmarks in ADO and Visual Basic.
  • Table creation in SQL.
  • The UNION statement in SQL.
  • The HAVING clause in a SELECT statement.
  • Using comments in a query.
  • The DISTINCT clause in aggregate functions. For example, this syntax does not work:
    SELECT Topic, count(DISTINCT *), sum(DISTINCT messagenumber), avg(DISTINCT messagenumber) FROM ihmessages GROUP BY topic ORDER BY Topic
  • A literal on the left side of a comparison operator. SQL-92 standards support this feature, but GE Intelligent Platforms does not currently support it. For example, this syntax does not work:
    SELECT DISTINCT tagname FROM ihRawData WHERE 50>Value
  • Analysis of the ihTrend table in Crystal Reports or the Microsoft SQL Server DTS application.
  • Command or connect timeouts (Connection.ConnectTimeout, Connection.CommandTimeout, or Command.CommandTimeout) in Visual Basic. For example, this syntax does not work:
    SET adoConn = New ADODB.Connection
    adoConn.ConnectionString = "Provider=ihOLEDB.iHistorian.1;User Id=;Password="
    adoConn.ConnectionTimeout = 5 ' does nothing
    adoConn.CommandTimeout = 5 ' does nothing
    SET cmdTestTimer = New ADODB.Command
    SET cmdTestTimer.ActiveConnection = adoConn
    cmdTestTimer.CommandText = "SELECT * FROM ihtags"
    cmdTestTimer.CommandType = adCmdText
    cmdTestTimer.CommandTimeout = 15 ' does nothing