Wonderware FactorySuite
|
|
|
- Sybil Gregory
- 10 years ago
- Views:
Transcription
1 Wonderware FactorySuite SQL Access Manager User s Guide Revision A Last Revision: August 2002 Invensys Systems, Inc.
2 All rights reserved. No part of this documentation shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the Invensys Systems, Inc. No copyright or patent liability is assumed with respect to the use of the information contained herein. Although every precaution has been taken in the preparation of this documentation, the publisher and the author assume no responsibility for errors or omissions. Neither is any liability assumed for damages resulting from the use of the information contained herein. The information in this documentation is subject to change without notice and does not represent a commitment on the part of Invensys Systems, Inc. The software described in this documentation is furnished under a license or nondisclosure agreement. This software may be used or copied only in accordance with the terms of these agreements Invensys Systems, Inc. All Rights Reserved. Invensys Systems, Inc. 33 Commercial Street Foxboro, MA (949) Trademarks All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized. Invensys Systems, Inc. cannot attest to the accuracy of this information. Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark. Alarm Logger, ActiveFactory, ArchestrA, Avantis, DBDump, DBLoad, DTAnalyst, FactoryFocus, FactoryOffice, FactorySuite, hotlinks, InBatch, InControl, IndustrialRAD, IndustrialSQL Server, InTouch, InTrack, MaintenanceSuite, MuniSuite, QI Analyst, SCADAlarm, SCADASuite, SuiteLink, SuiteVoyager, WindowMaker, WindowViewer, Wonderware, and Wonderware Logger are trademarks of Invensys plc, its subsidiaries and affiliates. All other brands may be trademarks of their respective owners.
3 Contents 3 Contents CHAPTER 1: SQL Access Manager...5 Introduction... 5 About this Manual... 6 Technical Support... 7 ODBC Compliant... 7 CHAPTER 2: Configuring and Connecting Databases...9 Using Oracle SQLConnect() Format... 9 Logging Date and Time to an Oracle Date Field Using Microsoft SQL Server...11 Configuring the Client...11 Data Types Supported Using Microsoft Access String Length Data Type Values for Supported Databases CHAPTER 3: Configuring SQL Access Manager...15 SQL Access Manager Overview Configuring a Bind List Using Special Delimiters Configuring a Table Template The SQL.DEF File CHAPTER 4: Using SQL Functions...25 SQL Functions Function SQL Parameters Using SQL Functions in InTouch QuickScripts Specifying Complex Queries Fetching Values into InTouch Tags Persisting InTouch Tags into Database Field Values Implications of the Data Updating Rules CHAPTER 5: Troubleshooting...43 Troubleshooting Functions Result Code Error Messages... 43
4 4 Contents Specific Database Error Messages...45 Debugging SQL Access...46 APPENDIX A: Reserved Keywords...47 SQL Access and ODBC...47 InTouch...49 Index...51
5 SQL Access Manager 5 C H A P T E R 1 SQL Access Manager Wonderware FactorySuite SQL Access Manager allows you to access, modify, create and delete tables in a database. A database stores information in tables that share a common attribute or field. Structured Query Language (SQL) is the language used to access that information. Contents Introduction About this Manual Technical Support ODBC Compliant Introduction The InTouch SQL Access Manager add-on program is designed to easily transfer data, such as batch recipes from a SQL database to an InTouch application. It also facilitates the transfer of run-time data, alarm status or historical data from InTouch to the SQL database. For example, after a machine cycle is completed, a company may need to save several sets of data, each for a different application. SQL databases provide the ability for information to be transferred between one or more third-party applications easily. SQL Access Manager allows this data to be accessed and displayed in any InTouch application. The InTouch SQL Access product consists of the SQL Access Manager program and the SQL Functions. The SQL Access Manager program is used to create and associate database columns with tagnames in your InTouch tagname dictionary. The process of associating database columns and InTouch database tagnames is called "binding." Binding the InTouch database tagnames to the database columns allows the SQL Access Manager to directly manipulate the data in the database. SQL Access Manager saves the database field names and their associations in a comma-separated variable (.CSV) formatted file named "SQL.DEF." (This file resides in the InTouch application directory and may be viewed or modified using SQL Access Manager or any text editor, such as Notepad.) The SQL Access Manager also creates Table Templates defining database structure and format. For more information on Bind Lists and Table Templates, see Chapter 3, "Configuring SQL Access Manager."
6 6 Chapter 1 SQL Functions can be used in any InTouch action script. These functions can be used to automatically execute based on operator input, a tagname value changing or when a particular set of conditions exist. For example, if an alarm condition exists, the application would execute a SQLInsert() or SQLUpdate() command to save all of the applicable data points and the state of the alarm. The SQL Functions can be used to create new tables, insert new records into tables, edit existing table records, clear tables, delete tables, select and scroll through records, etc. Note Database systems not discussed in this user's guide are not supported. About this Manual This manual is divided into a series of logical building block chapters that describe the various aspects of using SQL Access Manager. It is written in a "procedural" format that tells you in numbered steps how to perform most functions or tasks. If you are viewing this manual online, when you see text that is green, click the text to "jump" to the referenced section or chapter. When you jump to another section or chapter and you want to come back to the original section, a "back" option is provided. Tip These are "tips" that tell you an easier or quicker way to accomplish a function or task. The InTouch User's Guide will help you familiarize yourself with the WindowMaker development environment and its tools, read Chapter 1, "WindowMaker Program Elements." To learn about working with windows, graphic objects, wizards, ActiveX controls and so on, read Chapter 2, "Using WindowMaker." For details on InTouch runtime environment (WindowViewer), see your online InTouch Runtime User's Guide. In addition, the InTouch Reference Guide provides you with an in-depth reference to the InTouch script language, system tagnames, and tagname.fields. For details on the add-on program, SPC Pro, see your SPC Pro User's Guide. For details on the add-on program, Recipe Manager, see your Recipe Manager User's Guide. Online manuals are also included in your FactorySuite software package for all FactorySuite components. Note You must install the Adobe Acrobat Reader (version 4.0 or later) to view or print the online manuals. Assumptions This manual assumes you are:
7 SQL Access Manager 7 Technical Support Familiar with the Windows 2000, Windows XP, and/or Windows NT operating system working environment. Knowledgeable of how to use of a mouse, Windows menus, select options, and accessing online Help. Experienced with a programming or macro language. For best results, you should have an understanding of programming concepts such as variables, statements, functions and methods. Wonderware Technical Support offers a variety of support options to answer any questions on Wonderware products and their implementation. Prior to contacting technical support, please refer to the relevant chapter(s) in your SQL Access Manager User's Guide for a possible solution to any problem you may have with your system. If you find it necessary to contact technical support for assistance, please have the following information available: 1. Your software serial number. 2. The version of InTouch you are running. 3. The type and version of the operating system you are using. For example, Microsoft Windows NT Version 4.0 workstation. 4. The exact wording of system error messages encountered. 5. Any relevant output listing from the Wonderware Logger, the Microsoft Diagnostic utility (MSD), or any other diagnostic applications. 6. Details of the attempts you made to solve the problem(s) and your results. 7. Details of how to recreate the problem. 8. If known, the Wonderware Technical Support case number assigned to your problem (if this is an on-going problem). For more information on Technical Support, see your online FactorySuite System Administrator's Guide. ODBC Compliant SQL Access Manager is an ODBC compliant application that communicates with any database system, provided the database system has an ODBC driver available for it. Before you can use an ODBC driver, it must be configured via the Microsoft ODBC Administrator program to set up the links between the ODBC compliant application and the database. To configure an ODBC driver 1. Run the Microsoft ODBC Administrator program.
8 8 Chapter 1 2. Select a driver or data source, and then click Add New Name, Set Default or Configure. The ODBC Driver Setup dialog box. Option Data Source Name Description Database Directory Description User-defined name that identifies the data source. User-defined description of this data source. Identify the directory that contains the database files. If none is specified, the current working directory is used. Tip Enter any other information required to configure the selected driver. 3. Click OK. Tip The driver writes the values of each field to the ODBC.INI file. These values are the default values of a connection to the data source. The default values can be changed by modifying the data source fields. Entries can be inserted manually in the appropriate data source section of the ODBC.INI file for any attribute that is not supported by the ODBC Driver Setup dialog box.
9 Configuring and Connecting Databases 9 C H A P T E R 2 Configuring and Connecting Databases SQL Access Manager supports databases developed in Oracle, Microsoft SQL Server, and Microsoft Access. Each database's requirements are unique and particular. This chapter includes separate sections for each database, describing how to configure the particular database for communication with SQL Access Manager. Contents Using Oracle 8.0 Using Microsoft SQL Server Using Microsoft Access Data Type Values for Supported Databases Using Oracle 8.0 To communicate with Oracle Verify that the Oracle OLEDB Provider (MSDAORA.DLL) exists on your InTouch client machine. This file is installed by MDAC, which is installed when you install InTouch. 2. Connect to Oracle by executing the SQLConnect() function in an InTouch action script. For more information on the usage of SQLConnect(), see Chapter 4, "Using SQL Functions." SQLConnect() Format The SQLConnect() function is used to connect to Oracle databases. The connection string used by the SQLConnect() function is formatted as follows: SQLConnect(ConnectionId,"<attribute>=<value>; <attribute>=<value>;...");
10 10 Chapter 2 The following describes the attributes used by Oracle: Attribute Provider User ID Password Data Source Value MSDAORA User name. Password. Oracle Server machine name Example SQLConnect(ConnectionId,"Provider=MSDAORA; Data Source=OracleServer; User ID=SCOTT; Password=TIGER;"); Logging Date and Time to an Oracle Date Field To log the date and time to an Oracle date field, you must Configure the Bind List using the delim function. To log both date and time to an Oracle date field 1. In the Application Explorer under SQL Access Manager, double-click Bind List. The Bind List Configuration dialog box appears. 2. In the Tagname.FieldName box, type the tagname that you want to use. 3. In the Column Name box, type the DATE_TIME delim() function. 4. In your InTouch application, create a QuickScript to prepare input data from present date and time. For example:
11 Configuring and Connecting Databases 11 DATE_TIME_TAG = "TO_DATE('" + $DateString + "" + StringMid($TimeString,1,8) + "','mm/dd/yy hh24:mi:ss')"; Tip The Date_Time_Tag will display as the following in runtime: TO_DATE('08/22/97 23:32:18','mm/dd/yy hh24:mi:ss') Using Microsoft SQL Server To communicate with Microsoft SQL Server 1. Configure the Windows database client. 2. Connect to Microsoft SQL Server by executing the SQLConnect() function in an InTouch QuickScript. For more information on the usage of SQLConnect(), see Chapter 4, "Using SQL Functions." Configuring the Client SQLConnect() Format The SQLConnect() function is used to connect to Microsoft SQL Server. Executing this function logs you onto the database server and opens a connection to allow other SQL functions to be executed. The connection string used by the SQLConnect() function is formatted as follows: SQLConnect(ConnectionId,"<attribute>=<value>; <attribute>=<value>;..."); The following describes the attributes used by Microsoft SQL Server: Attribute Provider DSN UID PWD SRVR DB Value SQLOLEDB The name of the data source as configured in Microsoft ODBC Administrator. Logon ID, case sensitive. Password, case sensitive. Name of the server computer with the database tables to be accessed. The database name to be accessed. Example SQLConnect(ConnectionId,"DSN=SQL_Data;UID=OPERATOR;PWD=XYZ Z");
12 12 Chapter 2 Data Types Supported SQL Access Manager associates the four data types in InTouch (discrete, integer, real, and message) with other data types in database systems. The char data type contains fixed length character strings. InTouch Message tagnames require a char data type. A field length must be specified. Microsoft SQL Server databases support a char field with a maximum length of 8,000 characters. However, InTouch Message tagnames are limited to 131 characters. If a message variable contains more characters than the length specified for a database field, the string will be truncated when inserted into the database. The int data type represents InTouch Integer tagnames. If a field length is not specified, the length is set to the default value of the database. If the length is specified, it will be in the form Width. The Width determines the maximum number of digits for the column. The float data type represents InTouch Real tagnames. The field length setting is fixed by the database. A field length for this data type is not required. Using Microsoft Access String Length To communicate with Microsoft Access, you must connect to it by executing the SQLConnect() function in an InTouch QuickScript. SQLConnect() Format The SQLConnect() function is used to connect to Microsoft Access databases. Executing this function logs you on to the database server and opens a connection to allow other SQL functions to be executed. The connection string used by SQLConnect() is formatted as follows: SQLConnect(ConnectionId,"<attribute>=<value>; <attribute>=<value>;..."); DSN is an attribute used by Microsoft Access and is the name of the data source as configured in the Microsoft ODBC Administrator. Example SQLConnect(ConnectionId,"DSN=MSACC"); The valid data types that SQL Access Manager supports depends on the version of the ODBC driver being used. The text data type contains fixed length character strings and are used with InTouch Message tagnames. A length must be specified. Microsoft Access databases support text fields with a maximum length of 255 characters. InTouch Message tagnames are limited to 131 characters. If a message variable contains more characters than the length specified for a database field, the string will be truncated when inserted into the database. The Microsoft Access ODBC driver supports up to 17 characters per column name. The maximum number of columns supported when using SQLSetStatement( Select Col1, Col2,...) is 40.
13 Configuring and Connecting Databases 13 Data Type Values for Supported Databases Oracle Data Type Length Default Range Tag Type char 2,000 characters 1 character Message number 38 digits 38 digits Integer Microsoft SQL Server Data Type Length Default Range Tag Type char 8,000 Message characters int -2,147,483,648 to 2,147,483,647 Integer float 15 digits -1.79E +308 to 1.79E +308 Real Microsoft Access 2000 Data Type Length Default Range Tag Type text 255 Message characters number Integer number Real
14 14 Chapter 2
15 Configuring SQL Access Manager 15 C H A P T E R 3 Configuring SQL Access Manager The SQL Access Manager utility program creates Bind Lists and Table Templates. The Bind List associates database columns with tagnames in the InTouch Tagname Data Dictionary. The Table Template defines the structure and format of a new table in the database. Contents SQL Access Manager Overview Using Special Delimiters Configuring a Table Template The SQL.DEF File SQL Access Manager Overview When an InTouch application executes a SQLCreateTable() command, the Table Template argument defines the structure of the new database file.
16 16 Chapter 3 When a SQLInsert(), SQLSelect() or SQLUpdate() is executed, the Bind List argument defines which InTouch tagnames are used and which database columns to associate. Configuring a Bind List The Bind List associates database columns with tagnames in the InTouch Data Dictionary. To create a new Bind List 1. On the Special menu, point to SQL Access Manager, and then click Bind List, or in the Application Explorer under SQL Access Manager, doubleclick Bind List. 2. Click New.
17 Configuring SQL Access Manager The Bind List Configuration dialog box appears. Tip If you right click the mouse in any of the text entry boxes, a menu appears displaying the commands that you can apply to the selected text. 4. In the Bind List Name box, type the Bind List Name. Tip A Bind List Name can be up to 32 characters in length. The new Bind List links database columns to InTouch tagnames. For example, if an employee demographic list is being created, you would enter the Bind List Name that associates information on the employees here. Note The SQLInsert(), SQLSelect(), and SQLUpdate() functions use the Bind List parameter. 5. In the Tagname.FieldName box, type an InTouch tagname.field name. Tip The Tagname Dictionary associates this tagname.field with the Column Name in the database. If this tagname is not currently defined in the Tagname Dictionary, double-click it to open the Tagname Dictionary dialog box and define it now. 6. Click Tagname to select an existing tagname. The Tag Browser appears. Tip The Tag Browser will display the tagnames for the currently selected tag source. To select a tagname, double-click it or select it, and then click OK. To select a.field for the tagname click the Dot Field arrow, and select the.field that you want to use, and then click OK.
18 18 Chapter 3 Note I/O type tagnames that are not used in your application, but are specified in a SQLAccess bind list, will be activated (advised to the I/O Server) as soon as WindowViewer starts up. No connect to a database is necessary to see this behavior. For more information on the Tag Browser, see your online InTouch User's Guide. 7. Click FieldName to append a.field to the tagname. The Choose field name dialog box appears. 8. Click the.field that you want to use. The dialog box will close and the.field will automatically be appended to the tagname in the Tagname.FieldName field. For more information on tagname.fields, see Chapter 4 in your InTouch User's Guide. 9. In the Column Name box, type the name of the column. Tip A Column Name can be up to 30 characters in length. The column name is directly associated with the database column name. If the Column Name has a space, use square brackets around the Column Name in the Bind List and when used in a script. For example: WHERE EXPR= "[Pipe Flow} = " + text (tagname,"#"); Tip Special Delimiters can also be used to associate your column name with your database. For more information on special delimiters, see "Using Special Delimiters" 10. Click Move Up to move the selected tagname up one level in the list. 11. Click Move Down to move the selected tagname down one level in the list. 12. Click Add Item to add your new Tagname.FieldName and Column Name to the Bind List. 13. Click Delete Item to delete a selected Tagname.FieldName and Column Name from the Bind List. 14. Click Modify Item to modify a selected Tagname.FieldName or Column Name for this Bind List. 15. Click OK to save your new Bind List configuration and close the dialog box. Tip You can click Save to save your settings without closing the dialog box. To modify a Bind List 1. On the Special menu, point to SQL Access Manager, and then click Bind List, or in the Application Explorer under SQL Access Manager, doubleclick Bind List.
19 Configuring SQL Access Manager The Select a Bind List dialog box appears. 3. Select the Bind List name that you want to change, and then click Modify. The Bind List Configuration dialog box appears. 4. Modify the required item(s). 5. Click OK to save your changes and close the dialog box. For more information on configuring a Bind List, see "To create a new Bind List." To delete a Bind List 1. On the Special menu, point to SQL Access Manager, and then click Bind List, or in the Application Explorer under SQL Access Manager, doubleclick Bind List. 2. The Select a Bind List dialog box appears. 3. Select the Bind List name that you want to delete. 4. Click Delete. A message box appears asking you to confirm your deletion. Click Yes to delete the selected Bind List, or click No to cancel the deletion. The Bind List Configuration dialog box reappears. 5. Click OK to close the dialog box. Using Special Delimiters The SQLInsert() and the SQLUpdate() functions use a default format that encloses message strings with single quotes. Some SQL databases expect to receive message strings enclosed by another type of delimiter. For example, Oracle expects to receive a date string surrounded by brackets. When this occurs, the Delim() function must be used as follows: In the Bind List Configuration dialog box Column Name field, after the column name, type the keyword "delim" (not case sensitive). The keyword "delim" must be entered followed by: a left parenthesis the left delimiter a comma
20 20 Chapter 3 the right delimiter a right parenthesis Example: datestring delim (, ) To use the same delimiter for both left and right, just specify the delimiter in parentheses without the comma. Example: datestring delim ( ) The following example uses different left and right delimiters. Notice where date delim (, ) is entered in the Column Name field. For more information on logging date and time to an Oracle date field, see Chapter 2, "Configuring and Connecting Databases." Configuring a Table Template This command creates a Table Template defining the structure and format of a new table in the database.
21 Configuring SQL Access Manager 21 To create a new Table Template 1. On the Special menu, point to SQL Access Manager, and then click Table Template, or in the Application Explorer under SQL Access Manager, double-click Table Template. 2. Click New. 3. The Table Template Configuration dialog box appears. Tip If you right click the mouse in any of the text entry boxes, a menu appears displaying the commands that you can apply to the selected text. 4. In the Table Template Name box, type the name of the Table Template. Note A Table Template Name can be up to 32 characters in length. If you are creating an index, unique or otherwise, the Table Template Name can not exceed 24 characters. The Table Template name is used to identify the structure of a database for the SQLCreateTable() function. 5. In the Column Name box, type the column name for the Table Template. A Column Name can be up to 30 characters in length.
22 22 Chapter 3 6. In the Column Type box, type the data type for the column. Data type selections vary according to the database being used. For more information on data types for a specific database, see Chapter 2, "Configuring and Connecting Databases." 7. Select the Index Type as follows: Unique A column requires that each value in that column be unique. Non-Unique A column does not require that each value in that column be unique. None No Index. Tip When you execute a SQLCreateTable(), an index file is automatically created. 8. Select Allow Null Entry to allow null data to be entered in this column. Note InTouch does not support null data. When inserting data, if a value has not been entered for a tagname, values will be: Data Type Value Discrete 0 Integer 0 Message Strings with no characters When selecting data, null values will be translated according to the data type as shown above. 9. Click Add Item to add your new Column Name, Column Type, Length and Index Type to the Table Template. 10. Click Delete Item to delete a selected Column Name, Column Type, Length and Index Type from the Table Template list. 11. Click Modify Item to modify a selected Column Name, Column Type, Length and Index Type in the Table Template list. 12. Click OK to save your new Table Template configuration and close the dialog box. Tip You can click Save to save your settings without closing the dialog box. To modify a Table Template 1. On the Special menu, point to SQL Access Manager, and then click Table Template, or in the Application Explorer under SQL Access Manager, double-click Table Template.
23 Configuring SQL Access Manager The Select a Table Template dialog box appears. 3. Select the Table Template name that you want to modify, and then click Modify. The Table Template Configuration dialog box appears. 4. Modify the required item(s). 5. Click OK to save your changes and close the dialog box. For more information on configuring a Table Template, see "To create a new Table Template." To delete a Table Template 1. On the Special menu, point to SQL Access Manager, and then click Table Template, or in the Application Explorer under SQL Access Manager, double-click Table Template. 2. The Select a Table Template dialog box appears. 3. Select the Table Template name that you want to delete 4. Click Delete. A message box appears asking you to confirm your deletion. Click Yes to delete the selected Bind List, or click No to cancel the deletion. The Table Template Configuration dialog box reappears. 5. Click OK to close the dialog box. The SQL.DEF File The SQL Access Manager saves the configuration information for the Bind Lists and Table Templates to a file named "SQL.DEF." This file is formatted as a comma-separated variable (.CSV) type file. The SQL.DEF file can be viewed or modified using SQL Access Manager or any text editor, such as Notepad. The data appears in the file as follows: :BindListName,BindListName Tagname1.FieldName,ColumnName1 Tagname2.FieldName,ColumnName2 Tagname3.FieldName,ColumnName3
24 24 Chapter 3 :TableTemplateName,TableTemplateName ColumnName1,ColumnType,[ColumnLength],Null,Index ColumnName2,ColumnType,[ColumnLength],Null,Index ColumnName3,ColumnType,[ColumnLength],Null,Index
25 Using SQL Functions 25 C H A P T E R 4 Using SQL Functions InTouch uses SQL Functions to interact with information in the database. These functions are an extension of the standard InTouch QuickScript functions and can be used in any script. They allow you to select, modify, insert or delete records in the tables you choose to access. Contents SQL Functions SQL Parameters Using SQL Functions in InTouch QuickScripts\ SQL Functions This section lists each SQL Function. Keep in mind that SQL actions are synchronous. Control is not returned to InTouch until the SQL activity is complete (InTouch trending, polling, etc. are suspended). All SQL Functions (with the exception of SQLNumRows()) return a ResultCode. If the ResultCode is non-zero, the function failed and other actions should be taken. The ResultCode can be used by the SQLErrorMsg() function. The general format for SQL Functions is as follows: SQLFunction(Parameter1, Parameter2,...) For complete details on each SQL function and examples of how you use each function, see your InTouch Reference Guide. Function SQLAppendStatement(ConnectionId, SQLStatement) Append the statement SQLStatement to the default SQL statement for ConnectionId.
26 26 Chapter 4 SQLClearParam(StatementId, ParameterNumber) Set the value of ParameterNumber associated with StatementId to zero or a zero-length string, depending on whether the parameter is of numeric or string type. SQLClearStatement(ConnectionId, StatementId) Clean up resources associated with StatementId. However, the default statement associated with ConnectionId remains intact. SQLClearTable(ConnectionId, TableName) Delete all rows in the table named TableName. SQLCommit(ConnectionId) Commit the transaction that was created by the last SQLTransact. SQLConnect(ConnectionId, ConnectString) The ConnectString parameter is the same ConnectionString as explained in most ADO documentations (probably most extensively by Microsoft ADO API Reference). It is a parameter that may need to be modified in any InTouch application to leverage the power of native OLE DB provider for a particular database management system. A general form of the ConnectString parameter consists of different components separated by semicolons. The first component is normally specified as Provider=ProviderName, where ProviderName is the OLE DB provider for the particular database system. The SQLConnect functions in existing InTouch applications do not have the Provider keyword in the ConnectString parameter, thus ADO will use the default provider, Microsoft OLE DB Provider for ODBC, which is MSDASQL.DLL. Although existing InTouch applications will continue to work, it is highly recommended that the ConnectString parameter be changed to use the native OLE DB provider. Examples of ConnectString include the following: Example 1 Microsoft OLE DB Provider for Microsoft Jet (recommended use) "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\DBName.mdb;User ID=UserIDStr;Password=PasswordStr;" Microsoft.Jet.OLEDB.4.0 is the native OLE DB Provider for Microsoft Jet (Microsoft Access Database engine). Example 2 Microsoft OLE DB Provider for ODBC (using the default provider MSDASQL for MS Access): "Provider=MSDASQL;DSN=DSNStr;UID=UserName;PWD=PasswordStr;"
27 Using SQL Functions 27 Note User ID and uid can be used interchangeably, and Password and pwd can be used interchangeably. However, as stated above, it is recommended that the ConnectString parameter uses Microsoft.Jet.OLEDB.4.0. Example 3 Microsoft OLE DB Provider for SQL Server (recommended use) "provider=sqloledb;data Source=MyServer;Initial Catalog=MyDB;User Id=sa;Password=;" The OLE DB Provider for SQL Server is sqloledb. Example 4 Microsoft OLE DB Provider for SQL Server (recommended use) "Provider=SQLOLEDB;uid=sa;pwd=;Database=MyDB" Example 5 Microsoft OLE DB Provider for ODBC (using the default provider MSDASQL for SQL Server): "DSN=Pubs;UID=sa;PWD=;" Example 6 Microsoft OLE DB Provider for ODBC (using the default provider MSDASQL for SQL Server): "Data Source=Pubs;User ID=sa;" "Password=;" Note Data Source and Server can be used interchangeably, and Initial Catalog and Database can be used interchangeably. Example 7 Microsoft OLE DB Provider for Oracle (recommended use) "Provider=MSDAORA;Data Source=ServerName;User ID=UserIDStr; Password=PasswordStr;" If SQLTrace=1 is defined under the [InTouch] section of the win.ini file, each successful execution of SQLConnect will log version information for the ADO, the provider and the database system to the Wonderware logger. SQLCreateTable(ConnectionId, TableName, TemplateName) Create a table named TableName using the TemplateName. SQLDelete(ConnectionId, TableName, WhereExpr) Delete the rows that match the WhereExpr clause from TableName.
28 28 Chapter 4 SQLDisconnect(ConnectionId) Disconnect from the database and clean up all resources that were created by SQLPrepareStatement and SQLInsertPrepare that have not yet been released (by executing SQLClearStatement and SQLInsertEnd). SQLDropTable(ConnectionId, TableName) Delete the table named TableName from the database. SQLEnd(ConnectionId) Clean up resources associated with the logical table associated with ConnectionId. SQLErrorMsg(ResultCode) Return a ResultCode of -1 whenever an error is generated by the database provider. The ResultCode returned is always -1, but the message is copied exactly from the provider. For a list of Result Codes and a description of the error messages, see Chapter 5, "Troubleshooting." SQLExecute(ConnectionId, BindList, StatementId) Execute the statement associated with StatementId (MS Access query, MS SQL Server stored procedure, or a textual SQL statement). The BindList parameter can be a zero-length string. If StatementId is associated with a rowreturning query, then the logical table is updated with the result of SQLExecute. If a real bind list is specified, then the result is associated with the BindList. A zero-length BindList is useful when it is known in advance that the StatementId is not associated with a row-returning query. SQLFirst(ConnectionId) Go to the first row of the logical table and fetch values of that row into InTouch tags. SQLGetRecord(ConnectionId, RecordNumber) Go to row number RecordNumber of the logical table and fetch values of that row into InTouch tags. SQLInsert(ConnectionId, TableName, BindList) Use the current values of InTouch tags to insert one row into TableName. SQLInsertEnd(ConnectionId, StatementId) Clean up resources associated with StatementId created by SQLInsertPrepare.
29 Using SQL Functions 29 SQLInsertExecute(ConnectionId, BindList, StatementId) Use the current values of InTouch tags to insert one row into the table identified by the previous SQLInsertPrepare. If the BindList includes an Identity key field for a MS SQL Server table, it is necessary to set the IDENTITY_INSERT option before running SQLInsertExecute. Example Inserting a row with an identity key that is part of a BindList: ResultCode = SQLSetStatement(ConnectionId, "SET IDENTITY_INSERT Products ON"); ResultCode = SQLExecute(ConnectionId, "", 0); ResultCode = SQLInsertPrepare(ConnectionId, TableName, Bindlist, StatementId); ResultCode = SQLInsertExecute(ConnectionId, Bindlist, StatementId); ResultCode = SQLInsertEnd(ConnectionId, StatementId); SQLInsertPrepare(ConnectionId, TableName, BindList, StatementId) Return a StatementId to be used in SQLInsertExecute and SQLInsertEnd. SQLLast(ConnectionId) Go to the last row of the logical table and fetch values of that row into InTouch tags. SQLLoadStatement(ConnectionId, FileName) Load the statement contained in the file FileName into the default statement for ConnectionId. SQLManageDSN(ConnectionId) The ConnectionId is not used. It is retained for backward compatibility of older versions of SQL Access. Therefore, any number can be passed into the function. No database connection needs to be established before this function can be called. Example SQLManageDSN( 0 ) SQLNext(ConnectionId) Go to the next row of the logical table and fetch values of that row into InTouch tags.
30 30 Chapter 4 SQLNumRows(ConnectionId) Return the number of rows of the logical table. Because this function may return an error code, the recommended use of the function is as follows: DIM TEMP AS INTEGER; TEMP = SQLNumRows(ConnectionId); IF (TEMP >= 0) THEN RowCount = TEMP; ELSE ResultCode = TEMP; ENDIF; Definition A default statement is a statement associated with a connection ID. It can be a textual SQL statement (SELECT, INSERT, DELETE, or UPDATE), the name of a query in MS Access (with or without parameters), or the name of a stored procedure in MS SQL Server (with or without parameters). The default statement is modified by SQLLoadStatement, SQLSetStatement and SQLAppendStatement and is used by SQLExecute whenever StatementId = 0 is specified. SQLPrepareStatement(ConnectionId, StatementId) Prepare the default statement and return a StatementId (1, 2, 3, and so on). This preparation is useful for statements with parameters that need to be set using the SQLSetParam{Type} functions. SQLHandle is specified as the second parameter to this function in older versions of SQL Access; however, the current version of SQL Access renames SQLHandle into StatementId for all functions. The functional behavior remains the same. SQLPrev(ConnectionId) Go to the previous row of the logical table and fetch values of that row into InTouch tags. SQLRollback(ConnectionId) Roll back the transaction that was created by the last SQLTransact. SQLSelect(ConnectionId, TableName, BindList, WhereExpr, OrderByExpr) Instructs the database to retrieve information from a table. When a SQLSelect() function is executed, a temporary Results Table is created in memory, containing records that can be browsed using SQLFirst(), SQLLast(), SQLNext(), SQLNumRows and SQLPrev(). Execute the statement: SELECT FROM TableName WHERE WhereExpr ORDER BY OrderByExpr
31 Using SQL Functions 31 If the statement is executed successfully, a temporary record set (referred to as the logical table) is created and the BindList is used to associate InTouch tags with the columns of this table in preparation for SQLFirst, SQLPrev, SQLNext, SQLLast, and SQLNumRows. This logical table remains valid even if it has no row. For example, if WhereExpr is False for all records. SQLSetParamChar(StatementId, ParameterNumber, Value, Length) Set the parameter ParameterNumber associated with StatementId to a character string value (the string can be a single character). The last parameter to the function specifies the maximum length of the parameter. If the length of Value is longer than the length specified, Value will be truncated to the specified length. If length is specified as 0, the entire length of Value will be used. SQLSetParamDate(StatementId, ParameterNumber, Value) Set the parameter ParameterNumber associated with StatementId to a date value. The time is considered as 12:00:00 AM (the beginning of the date specified). SQLSetParamDateTime(StatementId, ParameterNumber, Value, Precision) Set the parameter ParameterNumber, associated with StatementId, to a date/time value. SQLSetParamDecimal(StatementId, ParameterNumber, Value, Precision, Scale) Set the parameter ParameterNumber, associated with StatementId, to a decimal value. Value can be either a string (or an InTouch message tag) that represents a decimal number ( ) or a numeric value (or an InTouch memory real tag). It is recommended that a message tag is used instead of a real tag to guarantee the precision of the parameter. However, if Value must be a floating point number (for example, a real value received from an I/O server), then the function will continue to work, but high precision may not be guaranteed because of the limitation of floating point representation. Precision is the total number of digits in the number, and Scale is the number of digits to the right of the decimal point. SQLSetParamFloat(StatementId, ParameterNumber, Value) Set the parameter ParameterNumber, associated with StatementId, to a 64-bit, signed, floating-point value.
32 32 Chapter 4 SQLSetParamInt(StatementId, ParameterNumber, Value) Set the parameter ParameterNumber, associated with StatementId, to a 16-bit, signed, integer value. SQLSetParamLong(StatementId, ParameterNumber, Value) Set the parameter ParameterNumber, associated with StatementId, to a 32-bit, signed, integer value. SQLSetParamNull(StatementId, ParameterNumber, Type, Precision, Scale) Set the parameter ParameterNumber, associated with StatementId, to NULL. The Type parameter can have the following value: 0: string 1: date/time 2: integer 3: float 4: decimal Comparison with NULL value is controlled by the ANSI_NULLS option in MS SQL Server. The time of resolving this option depends on the database system. In SQL Server 7.0, this option is resolved at object creation time (not at query execution time). When a stored procedure is created in SQL Server 7.0, this option is ON by default and thus a clause such as "WHERE MyField = NULL" always returns NULL (FALSE) and no row is returned from a SELECT statement using this clause. In order for the comparison = or <> to return TRUE or FALSE, it is necessary to set the option to OFF when creating the stored procedure. If the ANSI_NULLS is not set to OFF, then SQLSetParamNull will not work as expected. In this case, comparison against NULL value should use the syntax "WHERE MyField IS NULL" or "WHERE MyField IS NOT NULL". Example Using SQLSetParamNull to return all rows in the Products table where the ProductName is not NULL. Suppose a stored procedure is created in SQL Server using the following text. SET ANSI_NULLS OFF GO CREATE PROCEDURE varchar(255) AS SELECT * FROM Products WHERE ProductName GO SET ANSI_NULLS ON
33 Using SQL Functions 33 GO InTouch can execute the following SQL Access scripts. ResultCode = SQLSetStatement(ConnectionId, "sp_testnotnull"); ResultCode = SQLPrepareStatement(ConnectionId, StatementId); ResultCode = SQLSetParamNull(StatementId, 1, 0, 0, 0); ResultCode = SQLExecute(ConnectionId, BindList, StatementId); ResultCode = SQLFirst(ConnectionId); ResultCode = SQLClearStatement(ConnectionId, StatementId); SQLSetParamTime(StatementId, ParameterNumber, Value) Set the parameter ParameterNumber, associated with StatementId, to a time value. The system current date is used along with the time specified. SQLSetStatement(ConnectionId, SQLStatement) Set the statement SQLStatement into the default SQL statement for ConnectionId. SQLTransact(ConnectionId) Begin a database transaction. Transactions can be nested as supported by the underlying OLE DB provider for the database system. For example, native OLE DB provider for Microsoft Jet supports transactions nested up to five levels, including the first and last transactions. SQLUpdate(ConnectionId, TableName, BindList, WhereExpr) Use the current values of InTouch tags to update all rows in the table named TableName matched by the WhereExpr clause. SQLUpdateCurrent(ConnectionId) Update the current row of the logical table using InTouch tags mapped to the table fields via the bind list specified in SQLSelect or SQLExecute. If there are rows that are identical to the current row, all of them will be updated. If there are too many identical rows to be updated in SQL Access, this function may return an error after updating a number of rows. The error message may be similar to, "Microsoft Cursor Engine: Key column information is insufficient or incorrect. Too many rows were affected by update." Up to 54 identical rows may be modified at once.
34 34 Chapter 4 To avoid this situation, create a unique key field in the table so that no rows are identical. It is strongly recommended that all tables used by SQL Access have a unique key. For a table without a key, it is recommended that a field of type AutoNumber (MS Access) or an integer field used as the row Identity (SQL Server) be used as the primary key so that SQLUpdateCurrent affects only one row. This primary key field does not have to be included in a BindList. SQL Parameters The following describes the parameters required for each SQL function. When a parameter is entered in a script surrounded by quotation marks ("Parameter1") that exact string will be used. If no quotation marks are used, Parameter1 is assumed to be a tagname and the system will access the InTouch tagname dictionary for the value of the tagname, Parameter1. Example "c:\main\file" vs. Location where: location is an InTouch message tagname "c:\main\file" is a literal string The parameters for most of the SQL functions will be one or more of the following: BindList Corresponds to one of the Bind List names in the SQL.DEF file. ConnectionID Memory integer tagname created by the user to hold the number (ID) assigned by the SQLConnect function to each database connection. ConnectString String that identifies the database and any additional logon information used in SQLConnect(). ErrorMsg Message variable containing a text description of the error message. For more information on error message descriptions, see Chapter 5, "Troubleshooting." FileName The name of the file name in which the information is contained.
35 Using SQL Functions 35 MaxLen Maximum size of the column with which this parameter is associated. This setting determines whether the parameter is of varying character or long varying character type. If MaxLen is less than or equal to the largest character string allowed by the database, then the parameter is varying character type. If greater, long varying character type. OrderByExpression Defines the columns and direction for sorting. Only column names can be used to sort. The expression must be formatted: ColumnName [ASC DESC] To sort the selected table by a column name (e.g., manager) in ascending order: "manager ASC" To sort by multi-columns, the expression is formatted: ColumnName [ASC DESC], ColumnName [ASC DESC] To sort a selected table by one column name (for example, temperature) in ascending order and another column name (for example, time) in descending order: "temperature ASC, time DESC" ParameterNumber Actual parameter number in the statement. ParameterType Data type of the specified parameter. Valid values: Type Char Var Char Decimal Integer Small integer Float Double Precision Float DateTime Date Description Blank Padded fixed length string Variable Length String BCD Number 4-byte signed integer 2-byte signed integer 4-byte floating point 8-byte floating point 8-byte date time value 4-byte date time value
36 36 Chapter 4 Type Time No Type Description 4-byte date time value No Data Type ParameterValue Actual value to set. Precision Is the decimal value's precision, the max. size of the character, or the length in bytes of the date-time value. RecordNumber Actual record number to retrieve. ResultCode Integer variable returned from most SQL functions. ResultCode is returned as zero (0) if the function is successful and a negative integer if it fails. For more information, see Chapter 5, "Troubleshooting." Scale Is the decimal value's scale. This value is required only if applicable to the parameter being set to null. StatementId When using the advanced functionality statements, SQL returns a StatementId, which it uses internally. SQLStatement Actual statement, for example: ResultCode=SQLSetStatement(ConnectionID, Select LotNo, LotName from LotInfo ); TableName The database table name you want to access. TemplateName The name of the template definition you want to use.
37 Using SQL Functions 37 WhereExpression Defines a condition that can be either true or false for any row of the table. The command extracts only those rows from the table for which the condition is true. The expression must be in the following format: ColumnName comparison_operator expression Note If the column is a character data type, the expression must be in single quotes. The following example will select all rows whose name column contains the value EmployeeID: name='employeeid' The following example will select all rows containing part numbers from 100 to 199: partno>=100 and partno<200 The following example will select all rows whose temperature column contains a value that is greater than 350: temperature>350 Using SQL Functions in InTouch QuickScripts SQL functions can be automatically inserted into InTouch QuickScripts by clicking on the Add-ons button within the QuickScript editor dialog. The SQL function will be automatically inserted into the script at the current cursor position. For complete details on InTouch QuickScripts see your InTouch User's Guide, Chapter 6, "Creating QuickScripts in InTouch." Specifying Complex Queries SQL Access Manager allows you to specify complex queries and SQL statements of your own design. These queries may either be built dynamically or be contained in external files. Additionally, these queries may contain parameters that need to be "passed" into the query at runtime. These queries must then be executed and possibly have result sets returned. The SQL Access Manager API allows you to execute whatever SQL statement your database can handle and retrieve the result of that query. As a by-product, stored procedures are also available for execution by you. (Stored procedures are not fully supported.) For more information on stored procedures, see "Supporting Stored Procedures."
38 38 Chapter 4 Building Queries Dynamically To build queries dynamically, two additional functions are required: SQLSetStatement() and SQLAppendStatement(). SQLSetStatement() starts a new SQL statement. This can be any valid SQL statement, including the name of a stored procedure. Since InTouch only supports character strings of 131 characters, SQLAppendStatement() is provided to concatenate additional strings onto the statement. Note Bold text refers to SQL Query language commands. Example ResultCode = SQLSetStatement (ConnectionID, "Select LotNo, LotName, LotDescription, LotQuantity from LotInfo, ProductionInfo"); ResultCode = SQLAppendStatement (ConnectionID, " where LotInfo.LotNo = ProductionInfo.LotNo"); ResultCode = SQLAppendStatement (ConnectionID, " order by LotNo,NotName,LotQuantity"); The statement is now ready for execution. Note Many database column and table names are case sensitive. For the above script to function properly, the column and database names must be typed exactly as used in the database tables. Reading SQL Statements from a File You can model your query in other packages such as, Microsoft Access and other 3rd party database tools, then use SQL Access for InTouch to perform your query. As several of these packages will generate the SQL statement, it's a simple matter to take that SQL statement and store it into a file by using the SQLLoadStatement(). Example ResultCode = SQLLoadStatement (ConnectionID, "c:\myappdir\lotquery.sql"); The statement is now ready for execution. Modifying Extended SQL Statements To provide full SQL functionality, SQL Access Manager allows you to specify a where clause that contains a value of an InTouch tagname. To allow runtime specification of SQL parameters, the following functions are provided: SQLPrepareStatement() SQLSetParamType() SQLClearStatement() SQLClearParam()
39 Using SQL Functions 39 To perform parameter substitution on a SQL statement, put a "?" in the SQL statement where you want to specify a parameter at a later date. The statement is "prepared," parameters are "set" into the statement, and then the statement is executed. SQLPrepareStatement() prepares the statement for execution. It does not execute the statement, it just makes the statement active so you can set parameter values. SQLSetParamType() is a set of functions that allow you to set values into parameters in the SQL statement. Example ResultCode = SQLSetStatement (ConnectionID, "Select LotNo, LotName, LotDescription, LotQuantity from LotInfo, ProductionInfo"); ResultCode = SQLAppendStatement (ConnectionID, " where LotInfo.LotNo =?"); ResultCode = SQLAppendStatement (ConnectionID, " order by LotNo,NotName,LotQuantity"); ResultCode = SQLPrepareStatement (ConnectionID, StatementId); {return the statement handle into tag 'StatementId'} ResultCode = SQLSetParamInt (StatementId, 1, taglotnumber); {put the value of taglotnumber into param} Since the statement only has one parameter, it is now ready for execution. Once the statement is executed and you are finished with the prepared statement, SQLClearStatement() can be called to free the resources associated with that statement. Note SQLEnd() is called to free "unnamed" SQL statements (those generated by existing SQL Access functions), and those statements created by SQLSetStatement() and SQLLoadStatement() and not prepared. Executing Extended SQL Statements Now that the statement has been either built dynamically or read from a file, and has been optionally prepared and modified, it's time to execute it. The SQL Access Manager API uses the SQLExecute() function to accomplish this. SQLExecute() will either execute the currently active statement (i.e., the one created by SQLSetStatement() or SQLLoadStatement()) or the statement that has been previously prepared and is specified by the statement handle parameter. Example 1 ResultCode = SQLLoadStatement (ConnectionID, "c:\myappdir\lotquery.sql"); ResultCode = SQLExecute (ConnectionID, "BindList", 0); {put the results of the select into the tags specified in BindList. prepared statement handle is zero} ResultCode = SQLNext (ConnectionID);
40 40 Chapter 4 {Get results of Select} Example 2 ResultCode = SQLSetStatement (ConnectionID, "Select LotNo, LotName, LotDescription, LotQuantity from LotInfo, ProductionInfo"); ResultCode = SQLAppendStatement (ConnectionID, " where LotInfo.LotNo =?"); {question mark means I'll get back to you} ResultCode = SQLAppendStatement (ConnectionID, " order by LotNo,NotName,LotQuantity"); ResultCode = SQLPrepareStatement (ConnectionID, StatementId); {return the statement handle into tag 'StatementId'} ResultCode = SQLSetParamInt (StatementId, 1, taglotnumber); {put the value of taglotnumber into param} ResultCode = SQLExecute (ConnectionID, "BindList", StatementId); {put the results of the Select into the tags specified in BindList prepared statement handle is in StatementId} ResultCode = SQLNext (ConnectionID); {Get results of Select} Example 3 SQLSetStatement This statement must be used for complex queries and string expressions greater than 131 characters. When the string expression exceeds 131 characters use the SQLAppend SQLSetStatement(ConnectionID, Select Speed, Ser_No from tablename where Ser_No = + Serial_input + ); SQLExecute(ConnectionID, "BindList", 0); In the above example the StatementId is set to zero so the statement does not have to call SQLPepare(Connection_Id, StatementId) before the execute statement. Because the StatementId was not created by the SQLPepare to properly end this select use the SQLEnd function instead of the SQLClearStatement(). SQLSetStatement(Connection_Id, Select Speed, Ser_No from tablename where Ser_No = + Serial_input + ); SQLPrepareStatement(Connection_Id, StatementId); SQLExecute(Connection_Id, StatementId); In the above example the StatementId is created by the SqlPrepareStatement and used in the SQLExecute function. To end this select statement use SQLClearStatement to free up resources and free the StatementId.
41 Using SQL Functions 41 Supporting Stored Procedures The SQLExecute() function supports the execution of some stored procedures. For example, suppose you create a stored procedure on the database server named "LotInfoProc," that contains the following select statement: "Select LotNo, LotName from LotInfo." You would write the following InTouch QuickScript to execute the procedure and get the results: Using Microsoft SQL Server ResultCode = SQLSetStatement (ConnectionID, "LotInfoProc"); ResultCode = SQLExecute(ConnectionID, "BindList", 0); ResultCode = SQLNext (ConnectionID); {Get results of Select} Using Oracle or Microsoft Access ResultCode = SQLSetStatement (ConnectionID, "{CALL LotInfoProc}"); ResultCode = SQLExecute(ConnectionID, "BindList", 0); ResultCode = SQLNext (ConnectionID); {Get results of Select} Fetching Values into InTouch Tags The five script functions SQLFirst, SQLPrev, SQLNext, SQLLast, and SQLGetRecord allow navigating among rows of the logical table and fetching field values into InTouch tags. If a field is NULL, the value of the associated InTouch tag will be a zero or a zero-length string depending on whether the tag is of analog or message type. If a string in the database is greater than 131 characters, only the first 131 characters are copied into the associated InTouch message tag. Persisting InTouch Tags into Database Field Values The four script functions SQLUpdate, SQLUpdateCurrent, SQLInsert, and SQLInsertExecute allow updating or inserting into a table using InTouch tag values. If an InTouch message tag is longer than the defined size of the corresponding text field of the table, the number of characters used from the message tag will be the defined size of the field. Since InTouch tags cannot be NULL, it is impossible to update or insert NULL values into the database using these functions if the BindList includes the field. The way to insert NULL values into a field is to use SQLExecute on an INSERT statement that does not include the field, which should have been defined to allow NULL values.
42 42 Chapter 4 Implications of the Data Updating Rules The rules for fetching values into InTouch tags and persisting data into table fields imply that it is possible to modify values in the table unintentionally in the following scenarios. Unintentional Conversion of NULL Values into Zeros or Empty Strings Execution of one of the navigation functions fetches NULL values into InTouch tags as zeros or zero-length strings (e.g. Tag1). After some other tags in teh BindList are updated, execution of SQLUpdateCurrent persists the zeros or zero-length strings back to the table, overwriting the NULL value associated with Tag1. Execution of SQLUpdate will update rows using these zeros or zero-length strings from Tag1 (not the NULL value). Unintentional Insertion of Zeros or Empty Strings into a Table Execution of one of the navigation functions fetches NULL values into InTouch tags as zeros or zero-length strings (e.g. Tag1). After some other tags in the BindList are updated, execution of SQLInsert or SQLInsertExecute persists the zeros or zero-length strings (of Tag1) into the table (not the NULL value).
43 Troubleshooting 43 C H A P T E R 5 Troubleshooting This chapter explains how to troubleshoot SQL applications using the Result Codes returned by SQL functions. The first section describes the SQLErrorMsg() function and includes a table of SQL Result Codes with their corresponding Error Messages. The second section includes tables with specific database Error Messages. Contents Troubleshooting Functions Specific Database Error Messages Debugging SQL Access Troubleshooting Functions All SQL Functions return a Result Code that can be used for troubleshooting. The SQLErrorMsg() function returns the Error Message associated with the Result Code. Example ErrorMsg=SQLErrorMsg(ResultCode); where: ErrorMsg is a memory message tag. ResultCode is an integer value obtained from a previous SQL function. Result Code Error Messages For Result Codes that are not documented here, please refer to your specific database documentation and be sure to check the Wonderware Logger for any additional information.
44 44 Chapter 5 The SQLErrorMsg() function will set the value of the InTouch message tagname ErrorMsg. The following is a listing of some of the possible SQL Result Codes and their corresponding error messages and descriptions: Result Code Error Message Description 0 No errors occurred The command was successful -1 <Message from DB Provider> <A specific error message from the DB provider> -2 An empty statement cannot be executed SQLExecute(ConnectionId, BindList, 0) is executed without previously calling SQLSetStatement or SQLLoadStatement with a non-empty statement. -4 Value returned was Null An integer or real value read from the database is null. This is only a warning sent to Wonderware Logger. -5 No more rows to fetch The last record in the table has been reached -7 Invalid parameter ID SQLSetParamI{Type} is called with an invalid parameter ID. -8 Invalid parameter list Example of an invalid parameter list: 1, 2, 3, 5 (Missing 4). -9 Invalid type for NULL parameter SQLSetParamNull is called with an invalid type. -10 Changing data type of parameter is not allowed -11 Adding parameter after the statement has been executed successfully is not allowed. SQLSetParam {Type} is called with a different type for an existing parameter. SQLSetParam {Type} is called for a new parameter ID after the statement has been executed successfully. -12 Invalid date time format An invalid date time format is encountered, for example, when executing SQLSetParamTime, SQLInsertExecute, or SQLUpdateCurrent. -13 Invalid decimal format An invalid decimal format is encountered, for example, when executing SQLSetParamDecimal, SQLInsertExecute, or SQLUpdateCurrent. -14 Invalid currency format An invalid currency format is encountered, for example, when executing SQLInsertExecute or SQLUpdateCurrent. -15 Invalid statement type for this operation SQLInsertEnd is called for a statement ID created by SQLPrepareStatement or SQLClearStatement is called for a statement ID created by SQLInsertPrepare Out of memory There is insufficient memory to perform this function Invalid connection The ConnectionId passed to the function is not valid No bind list found The specified Bind List name does not exist No template found The specified Table Template name does not exist Internal Error An internal error occurred. Call Technical Support.
45 Troubleshooting 45 Result Code Error Message Description String is null Warning - the string read from the database is null. This is only a warning sent to Wonderware Logger String is truncated Warning - the string read from the database is longer than 131 characters and is truncated on a select. The warning is sent to Wonderware Logger No Where clause There is no Where clause on Delete Connection failed Check Wonderware Logger for a more detailed description of the failed connect The database specified on the DB= portion of the connect string does not exist The specified database does not exist No rows were selected A SQLNumRows(), SQLFirst(), SQLNext(), SQLLast, or SQLPrev() command was attempted without executing a SQLSelect() or SQLExecute command first Unable to find file to load SQLLoadStatement is called with a filename that cannot be found. Specific Database Error Messages Oracle Check your Oracle Server documentation for specific error messages and solutions. Microsoft SQL Server Error Message You cannot have more than one statement active at a time There is not enough memory available to process the command Invalid object name table name Solution You are trying to execute a SQL command after executing a SQLSelect(). Execute a SQLEnd() to free system resources from the SQLSelect() or; Use a separate ConnectionId for the second statement. Try rebooting the client workstation. The table name does not exist in the database you are using. Try DB=database name. Check you Microsoft SQL Server documentation for specific error messages and solutions.
46 46 Chapter 5 Debugging SQL Access The SQLTrace=1 flag defined under the [InTouch] section of the win.ini file is useful for debugging SQL Access scripts. The new SQL Access module does not use the trace file sqltrace.txt.
47 Reserved Keywords 47 A P P E N D I X A Reserved Keywords SQL Access and ODBC This appendix lists the keywords that are excluded from use for the SQL Access Bind List and the Table Template, and the Open Database Connectivity (ODBC) interface. If a reserved keyword is used as the Column Name in a Bind List or Table Template, an error message is generated in the Wonderware Logger. The type of error generated depends upon the ODBC driver being used and the location in which the keyword is found. For example, one of the most common errors made is using DATE and TIME for Column Names in a Bind List or Table Template. To avoid this error, use a slightly different name, for example, "adate" and "atime." The reserved keywords define the Structured Query Language (SQL) used by InTouch SQL Access. The keywords are also recognized by the specific ODBC driver being used. SQL Access passes the SQL command containing one or more reserved keywords to the ODBC.DLL file. If the SQL command cannot be interpreted correctly, SQL Access generates an error message in the Wonderware Logger. The reserved keywords for SQL Access and ODBC are listed alphabetically below:. ABSOLUTE ADA ADD ALL ALLOCATE ALTER AND ANY ARE AS ASC ASSERTION AT AUTHORIZATION AVG BEGIN BETWEEN BIT BIT_LENGTH BY CASCADE CASCADED CASE CAST CATALOG CHAR CHAR_LENGTH CHARACTER CHARACTER_LENGTH CHECK CLOSE COALESCE COBOL COLLATE COLLATION COLUMN COMMIT CONNECT CONNECTION CONSTRAINT CONSTRAINTS CONTINUE CONVERT CORRESPONDING COUNT CREATE CURRENT CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURSOR DATE DAY DEALLOCATE DEC DECIMAL DECLARE DEFERRABLE
48 48 Appendix A DEFERRED ENTF DESC DESCRIBE DESCRIPTOR DIAGNOSTICS DICTIONARY DISCONNECT DISPLACEMENT DISTINCT DOMAIN DOUBLE DROP ELSE ENDEESC EXCEPT EXCEPTION EXEC EXECUTE EXISTS EXTERNAL EXTRACT FALSE FETCH FIRST FLOAT FOR FOREIGN FORTRAN FOUND FROM FULL GET GLOBAL GO GOTO GRANT GROUP HAVING HOUR IDENTITY IGNORE IMMEDIATE IN INCLUDE INDEX INDICATOR INITIALLY INNER INPUT INSENSITIVE EINFÜGEN INTEGER INTERSECT INTERVALL INTO IS ISOLATION JOIN KEY LANGUAGE LAST LEFT LEVEL LIKE LOCAL LOWER MATCH MAX MIN MINUTE MODULE MONTH MUMPS NAMES NATIONAL NCHAR NEXT NONE NOT NULL NULLIF NUMERIC OCTET_LENGTH OF OFF ON ONLY OPEN OPRN OPTION OR ORDER OUTER OUTPUT OVERLAPS PARTIAL PASCAL PLI POSITION PRECISION PREPARE PRESERVE PRIMARY PRIOR PRIVILEGES PROCEDURE PUBLIC RESTRICT REVOKE RIGHT ROLLBACK ROWS SCHEMA SCROLL SECOND SECTION SELECT SEQUENCE SET SIZE SMALLINT SOME SQL SQLCA SQLCODE SQLERROR SQLSTATE SQLWARNING SUBSTRING SUM SYSTEM TABLE TEMPORARY THEN TIME TIMESTAMP TIMEZONE_HOUR TIMEZONE_MINU TO TRANSACTION TRANSLATE TRANSLATION TRUE UNION UNIQUE UNKNOWN UPDATE UPPER USAGE USING WERT VALUES VARCHAR VARING VIEW WHEN WHENEVER WHERE WITH WORK YEAR
49 Reserved Keywords 49 InTouch The following are reserved keywords for InTouch: As Call Dim Discrete Integer Message Real Return RetVal
50 50 Appendix A
51 51 Index A About this Manual 6 B Bind List 16 create new 16 delete 19 modify 18 Tag Browser 17 BindListName 23, 34 Building queries dynamically 38 C Column Name 18 Commands Table Template 22 Configuring a Bind List 16 Configuring a Table Template 20 Configuring SQL Access Manager 15 ConnectionID 34 ConnectString 34 CSV 5, 23 D Data Types Supported 13 Database 5 Databases Supported 11 Microsoft Access 12 Microsoft SQL Server 11 deleting a Bind List 19 deleting a table template 23 Delim Function 19 Delimiters 19 E ErrorMsg 34 Executing extended SQL Statements 39 F FileName 34 Functions SQLAppendStatement 25 SQLClearParam 26 SQLClearStatement 26 SQLClearTable 26 SQLCommit 26 SQLConnect 11 SQLCreateTable 27 SQLDelete 27 SQLDisconnect 28 SQLDropTable 28 SQLEnd 28 SQLErrorMsg 28 SQLExecute 28 SQLFirst 28 L SQLGetRecord 28 SQLInsert 28 SQLInsertEnd 28 SQLInsertExecute 29 SQLInsertPrepare 29 SQLLast 29 SQLLoadStatement 29 SQLManageDSN 29 SQLNumRows 30 SQLPrepareStatement 30 SQLPrev 30 SQLRollback 30 SQLSelect 30 SQLSetParamChar 31 SQLSetParamDate 31 SQLSetParamDecimal 31 SQLSetParamFloat 31 SQLSetParamInt 32 SQLSetParamLong 32 SQLSetParamNull 32 SQLSetParamTime 33 SQLSetStatement 33 SQLTransact 33 SQLUpdate 33 SQLUpdateCurrent 33 Using 25 Logging Date and Time to an Oracle Date Field 10 M MaxLen 35 Microsoft Access Connection Requirements 12 Data Types Supported 12, 13 Microsoft SQL Server Connection Requirements 11 Data Types Supported 12 Mircrosoft SQL Server Data Types Supported 13 modify a Bind List 18 modifying a table template 22 Modifying extended SQL Statements 38 O ODBC Administrator Program 7 ODBC Compliant 7 ODBC.INI 8 Online manuals 6 Oracle Data Types Supported 13 OrderByExpression 35 P Parameter BindListName 34 ConnectionID 34
52 52 ConnectString 34 ErrorMsg 34 FileName 34 MaxLen 35 OrderByExpression 35 ParameterNumber 35 ParameterType 35 ParameterValue 36 Precision 36 RecordNumber 36 ResultCode 36 Scale 36 SQLStatement 36 StatementId 36 TableName 36 TemplateName 36 WhereExpression 37 ParameterNumber 35 Parameters 34 ParameterType 35 ParameterValue 36 Precision 36 Q Queries Building Dynamically 38 Complex 38 QuickScripts 37 R T Table Template 20 create new 21 delete 23 modify 22 Table Template Command 22 Table Template Name 21, 24 TableName 36 Tag Browser 17 Tagname.FieldName 18 TemplateName 36 Troubleshooting 43 Troubleshooting SQL Functions 43 U Using Microsoft Access 12 Using Microsoft SQL Server 11 Using Special Delimiters 19 Using SQL Functions 25 Using SQL Functions in InTouch 37 W WhereExpression 37 Wonderware Technical Support 7 Reading SQL Statements from a File 38 RecordNumber 36 Reserved Keywords 47 Result Code Error Messages 43 ResultCode 36, 43 S Scale 36 Specific Database Error Messages Microsoft SQL Server 45 Specifying Complex Queries 37 SQL Access Manager Introduction 5 SQL Access Manager Overview 15 SQL Function format 25 SQL Parameters 34 SQL.DEF 5, 23 SQLConnect 11 SQLErrorMsg 43 SQLInsert 19 SQLSelect 30 SQLStatement 36 SQLUpdate 19, 33 StatementId 36 Structured Query Language 5 Supporting Stored Procedures 41
InTouch HMI Scripting and Logic Guide
InTouch HMI Scripting and Logic Guide Invensys Systems, Inc. Revision A Last Revision: 7/25/07 Copyright 2007 Invensys Systems, Inc. All Rights Reserved. All rights reserved. No part of this documentation
ArchestrA Log Viewer User s Guide Invensys Systems, Inc.
ArchestrA Log Viewer User s Guide Invensys Systems, Inc. Revision A Last Revision: 7/3/07 Copyright 2007 Invensys Systems, Inc. All Rights Reserved. All rights reserved. No part of this documentation shall
Wonderware FactorySuite
Wonderware FactorySuite SPCPro User s Guide Revision A September 2002 Invensys Systems, Inc. All rights reserved. No part of this documentation shall be reproduced, stored in a retrieval system, or transmitted
Wonderware Historian Client Installation Guide. Invensys Systems, Inc.
Wonderware Historian Client Installation Guide Invensys Systems, Inc. Revision A Last Revision: June 15, 2010 Copyright 2010 Invensys Systems, Inc. All Rights Reserved. All rights reserved. No part of
ODBC Client Driver Help. 2015 Kepware, Inc.
2015 Kepware, Inc. 2 Table of Contents Table of Contents 2 4 Overview 4 External Dependencies 4 Driver Setup 5 Data Source Settings 5 Data Source Setup 6 Data Source Access Methods 13 Fixed Table 14 Table
v4.8 Getting Started Guide: Using SpatialWare with MapInfo Professional for Microsoft SQL Server
v4.8 Getting Started Guide: Using SpatialWare with MapInfo Professional for Microsoft SQL Server Information in this document is subject to change without notice and does not represent a commitment on
Sophos Enterprise Console Auditing user guide. Product version: 5.2
Sophos Enterprise Console Auditing user guide Product version: 5.2 Document date: January 2013 Contents 1 About this guide...3 2 About Sophos Auditing...4 3 Key steps in using Sophos Auditing...5 4 Ensure
ODBC Driver Version 4 Manual
ODBC Driver Version 4 Manual Revision Date 12/05/2007 HanDBase is a Registered Trademark of DDH Software, Inc. All information contained in this manual and all software applications mentioned in this manual
Wonderware Information Server Installation Guide
Wonderware Information Server Installation Guide Invensys Systems, Inc. Revision E Last Revision: March 11, 2010 Copyright All rights reserved. No part of this documentation shall be reproduced, stored
SQL Server An Overview
SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system
Using SQL Server Management Studio
Using SQL Server Management Studio Microsoft SQL Server Management Studio 2005 is a graphical tool for database designer or programmer. With SQL Server Management Studio 2005 you can: Create databases
Sage ERP MAS 90 Sage ERP MAS 200 Sage ERP MAS 200 SQL. Installation and System Administrator's Guide 4MASIN450-08
Sage ERP MAS 90 Sage ERP MAS 200 Sage ERP MAS 200 SQL Installation and System Administrator's Guide 4MASIN450-08 2011 Sage Software, Inc. All rights reserved. Sage, the Sage logos and the Sage product
Retrieving Data Using the SQL SELECT Statement. Copyright 2006, Oracle. All rights reserved.
Retrieving Data Using the SQL SELECT Statement Objectives After completing this lesson, you should be able to do the following: List the capabilities of SQL SELECT statements Execute a basic SELECT statement
Scribe Online Integration Services (IS) Tutorial
Scribe Online Integration Services (IS) Tutorial 7/6/2015 Important Notice No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, photocopying,
Sage 100 ERP. Installation and System Administrator s Guide
Sage 100 ERP Installation and System Administrator s Guide This is a publication of Sage Software, Inc. Version 2014 Copyright 2013 Sage Software, Inc. All rights reserved. Sage, the Sage logos, and the
Jet Data Manager 2012 User Guide
Jet Data Manager 2012 User Guide Welcome This documentation provides descriptions of the concepts and features of the Jet Data Manager and how to use with them. With the Jet Data Manager you can transform
XMailer Reference Guide
XMailer Reference Guide Version 7.00 Wizcon Systems SAS Information in this document is subject to change without notice. SyTech assumes no responsibility for any errors or omissions that may be in this
Intelligence Dashboard Licensing Guide
Wonderware Intelligence Dashboard Licensing Guide 3/22/13 All rights reserved. No part of this documentation shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic,
How To Write A File System On A Microsoft Office 2.2.2 (Windows) (Windows 2.3) (For Windows 2) (Minorode) (Orchestra) (Powerpoint) (Xls) (
Remark Office OMR 8 Supported File Formats User s Guide Addendum Remark Products Group 301 Lindenwood Drive, Suite 100 Malvern, PA 19355-1772 USA www.gravic.com Disclaimer The information contained in
Creating Database Tables in Microsoft SQL Server
Creating Database Tables in Microsoft SQL Server Microsoft SQL Server is a relational database server that stores and retrieves data for multi-user network-based applications. SQL Server databases are
Siemens Applied Automation Page 1 11/26/03 9:57 PM. Maxum ODBC 3.11
Siemens Applied Automation Page 1 Maxum ODBC 3.11 Table of Contents Installing the Polyhedra ODBC driver... 2 Using ODBC with the Maxum Database... 2 Microsoft Access 2000 Example... 2 Access Example (Prior
DataLogger. 2015 Kepware, Inc.
2015 Kepware, Inc. 2 DataLogger Table of Contents Table of Contents 2 DataLogger Help 4 Overview 4 Initial Setup Considerations 5 System Requirements 5 External Dependencies 5 SQL Authentication 6 Windows
Using the Query Analyzer
Using the Query Analyzer Using the Query Analyzer Objectives Explore the Query Analyzer user interface. Learn how to use the menu items and toolbars to work with SQL Server data and objects. Use object
Tips and Tricks SAGE ACCPAC INTELLIGENCE
Tips and Tricks SAGE ACCPAC INTELLIGENCE 1 Table of Contents Auto e-mailing reports... 4 Automatically Running Macros... 7 Creating new Macros from Excel... 8 Compact Metadata Functionality... 9 Copying,
Centran Version 4 Getting Started Guide KABA MAS. Table Of Contents
Page 1 Centran Version 4 Getting Started Guide KABA MAS Kaba Mas Welcome Kaba Mas, part of the world-wide Kaba group, is the world's leading manufacturer and supplier of high security, electronic safe
Create a New Database in Access 2010
Create a New Database in Access 2010 Table of Contents OVERVIEW... 1 CREATING A DATABASE... 1 ADDING TO A DATABASE... 2 CREATE A DATABASE BY USING A TEMPLATE... 2 CREATE A DATABASE WITHOUT USING A TEMPLATE...
Horizon Debt Collect. User s and Administrator s Guide
Horizon Debt Collect User s and Administrator s Guide Microsoft, Windows, Windows NT, Windows 2000, Windows XP, and SQL Server are registered trademarks of Microsoft Corporation. Sybase is a registered
How To Use The Correlog With The Cpl Powerpoint Powerpoint Cpl.Org Powerpoint.Org (Powerpoint) Powerpoint (Powerplst) And Powerpoint 2 (Powerstation) (Powerpoints) (Operations
orrelog SQL Table Monitor Adapter Users Manual http://www.correlog.com mailto:[email protected] CorreLog, SQL Table Monitor Users Manual Copyright 2008-2015, CorreLog, Inc. All rights reserved. No part
MAS 500 Intelligence Tips and Tricks Booklet Vol. 1
MAS 500 Intelligence Tips and Tricks Booklet Vol. 1 1 Contents Accessing the Sage MAS Intelligence Reports... 3 Copying, Pasting and Renaming Reports... 4 To create a new report from an existing report...
Crystal Reports Installation Guide
Crystal Reports Installation Guide Version XI Infor Global Solutions, Inc. Copyright 2006 Infor IP Holdings C.V. and/or its affiliates or licensors. All rights reserved. The Infor word and design marks
Setting Up ALERE with Client/Server Data
Setting Up ALERE with Client/Server Data TIW Technology, Inc. November 2014 ALERE is a registered trademark of TIW Technology, Inc. The following are registered trademarks or trademarks: FoxPro, SQL Server,
Microsoft Dynamics GP. SmartList Builder User s Guide With Excel Report Builder
Microsoft Dynamics GP SmartList Builder User s Guide With Excel Report Builder Copyright Copyright 2008 Microsoft Corporation. All rights reserved. Complying with all applicable copyright laws is the responsibility
CHAPTER 23: USING ODBC
Chapter 23: Using ODBC CHAPTER 23: USING ODBC Training Objectives In this section, we introduce you to the Microsoft Business Solutions Navision NODBC driver. However, it is recommended that you read and
All Tech Notes and KBCD documents and software are provided "as is" without warranty of any kind. See the Terms of Use for more information.
Tech Note 115 Overview of the InTouch 7.0 Windows NT Services All Tech Notes and KBCD documents and software are provided "as is" without warranty of any kind. See the Terms of Use for more information.
Custom Javascript In Planning
A Hyperion White Paper Custom Javascript In Planning Creative ways to provide custom Web forms This paper describes several of the methods that can be used to tailor Hyperion Planning Web forms. Hyperion
Realtime SQL Database System
BAPAS -DB Realtime SQL Database System - ODBC-Driver for ODBC 3.0 - - English - Release 1.8 Reg. No. 3.4.7.16.1 Date: 2008-01-02 BAPAS-DB Realtime SQL Database System - ODBC-Driver for ODBC 3.0 - Release
Chapter 4 Accessing Data
Chapter 4: Accessing Data 73 Chapter 4 Accessing Data The entire purpose of reporting is to make sense of data. Therefore, it is important to know how to access data locked away in the database. In this
Microsoft Access Basics
Microsoft Access Basics 2006 ipic Development Group, LLC Authored by James D Ballotti Microsoft, Access, Excel, Word, and Office are registered trademarks of the Microsoft Corporation Version 1 - Revision
Citrix Systems, Inc.
Citrix Systems, Inc. Notice The information in this publication is subject to change without notice. THIS PUBLICATION IS PROVIDED AS IS WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING ANY
ADMINISTRATOR'S GUIDE. Version 12.20
ADMINISTRATOR'S GUIDE Version 12.20 Copyright 1981-2015 Netop Business Solutions A/S. All Rights Reserved. Portions used under license from third parties. Please send any comments to: Netop Business Solutions
Wonderware. SCADAlarm User's Guide. Invensys Systems, Inc. Revision A Last Revision: 10/21/04
Wonderware SCADAlarm User's Guide Revision A Last Revision: 10/21/04 Invensys Systems, Inc. All rights reserved. No part of this documentation shall be reproduced, stored in a retrieval system, or transmitted
User's Guide. Using RFDBManager. For 433 MHz / 2.4 GHz RF. Version 1.23.01
User's Guide Using RFDBManager For 433 MHz / 2.4 GHz RF Version 1.23.01 Copyright Notice Copyright 2005 Syntech Information Company Limited. All rights reserved The software contains proprietary information
ICE for Eclipse. Release 9.0.1
ICE for Eclipse Release 9.0.1 Disclaimer This document is for informational purposes only and is subject to change without notice. This document and its contents, including the viewpoints, dates and functional
Title. Syntax. stata.com. odbc Load, write, or view data from ODBC sources. List ODBC sources to which Stata can connect odbc list
Title stata.com odbc Load, write, or view data from ODBC sources Syntax Menu Description Options Remarks and examples Also see Syntax List ODBC sources to which Stata can connect odbc list Retrieve available
MapInfo SpatialWare Version 4.6 for Microsoft SQL Server
Release Notes MapInfo SpatialWare Version 4.6 for Microsoft SQL Server These release notes contain information about the SpatialWare v. 4.6 release. These notes are specific to the Microsoft SQL Server
InTouch 9.0. Wonderware InTouch 9.0. Data Sheet. Visualization Software OVERVIEW POWER AND VERSATILITY. b Powerful and Flexible.
Data Sheet InTouch 9.0 Visualization Software b Powerful and Flexible b Easy to Use b Unrivaled Connectivity b Agile Applications b Wonderware SmartSymbols OVERVIEW Wonderware s InTouch 9.0 visualization
"SQL Database Professional " module PRINTED MANUAL
"SQL Database Professional " module PRINTED MANUAL "SQL Database Professional " module All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or
Qlik REST Connector Installation and User Guide
Qlik REST Connector Installation and User Guide Qlik REST Connector Version 1.0 Newton, Massachusetts, November 2015 Authored by QlikTech International AB Copyright QlikTech International AB 2015, All
Plug-In for Informatica Guide
HP Vertica Analytic Database Software Version: 7.0.x Document Release Date: 2/20/2015 Legal Notices Warranty The only warranties for HP products and services are set forth in the express warranty statements
CA Nimsoft Monitor. Probe Guide for NT Event Log Monitor. ntevl v3.8 series
CA Nimsoft Monitor Probe Guide for NT Event Log Monitor ntevl v3.8 series Legal Notices Copyright 2013, CA. All rights reserved. Warranty The material contained in this document is provided "as is," and
Connectivity Pack for Microsoft Guide
HP Vertica Analytic Database Software Version: 7.0.x Document Release Date: 2/20/2015 Legal Notices Warranty The only warranties for HP products and services are set forth in the express warranty statements
Utilities. 2003... ComCash
Utilities ComCash Utilities All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or
3.GETTING STARTED WITH ORACLE8i
Oracle For Beginners Page : 1 3.GETTING STARTED WITH ORACLE8i Creating a table Datatypes Displaying table definition using DESCRIBE Inserting rows into a table Selecting rows from a table Editing SQL buffer
Thank you for using AD Bulk Export 4!
Thank you for using AD Bulk Export 4! This document contains information to help you get the most out of AD Bulk Export, exporting from Active Directory is now quick and easy. Look here first for answers
LANDESK Service Desk. Desktop Manager
LANDESK Service Desk Desktop Manager LANDESK SERVICE DESK DESKTOP MANAGER GUIDE This document contains information, which is the confidential information and/or proprietary property of LANDESK Software,
ACCESS 2007. Importing and Exporting Data Files. Information Technology. MS Access 2007 Users Guide. IT Training & Development (818) 677-1700
Information Technology MS Access 2007 Users Guide ACCESS 2007 Importing and Exporting Data Files IT Training & Development (818) 677-1700 [email protected] TABLE OF CONTENTS Introduction... 1 Import Excel
Architecting the Future of Big Data
Hive ODBC Driver User Guide Revised: July 22, 2014 2012-2014 Hortonworks Inc. All Rights Reserved. Parts of this Program and Documentation include proprietary software and content that is copyrighted and
Working with SQL Server Integration Services
SQL Server Integration Services (SSIS) is a set of tools that let you transfer data to and from SQL Server 2005. In this lab, you ll work with the SQL Server Business Intelligence Development Studio to
ODBC Chapter,First Edition
1 CHAPTER 1 ODBC Chapter,First Edition Introduction 1 Overview of ODBC 2 SAS/ACCESS LIBNAME Statement 3 Data Set Options: ODBC Specifics 15 DBLOAD Procedure: ODBC Specifics 25 DBLOAD Procedure Statements
Terminal Services for InTouch 7.1/7.11. Terminal Services for InTouch 7.1/7.11 PRODUCT POSITION PRODUCT DATASHEET
Terminal Services for InTouch 7.1/7.11 PRODUCT POSITION Terminal Services for InTouch 7.1/7.11 PRODUCT DATASHEET Terminal Services for InTouch 7.1/7.11 provides manufacturing users with all the benefits
MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC
MyOra 3.0 SQL Tool for Oracle User Guide Jayam Systems, LLC Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL
AvePoint Tags 1.1 for Microsoft Dynamics CRM. Installation and Configuration Guide
AvePoint Tags 1.1 for Microsoft Dynamics CRM Installation and Configuration Guide Revision G Issued August 2014 Table of Contents About AvePoint Tags for Microsoft Dynamics CRM... 3 Required Permissions...
Using the Caché SQL Gateway
Using the Caché SQL Gateway Version 2007.1 04 June 2007 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com Using the Caché SQL Gateway Caché Version 2007.1 04 June 2007 Copyright
FileMaker 11. ODBC and JDBC Guide
FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered
Using Network Application Development (NAD) with InTouch
Tech Note 256 Using Network Application Development (NAD) with InTouch All Tech Notes and KBCD documents and software are provided "as is" without warranty of any kind. See the Terms of Use for more information.
FileMaker 12. ODBC and JDBC Guide
FileMaker 12 ODBC and JDBC Guide 2004 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
The release notes provide details of enhancements and features in Cloudera ODBC Driver for Impala 2.5.30, as well as the version history.
Cloudera ODBC Driver for Impala 2.5.30 The release notes provide details of enhancements and features in Cloudera ODBC Driver for Impala 2.5.30, as well as the version history. The following are highlights
Inmagic ODBC Driver 8.00 Installation and Upgrade Notes
Inmagic ODBC Driver 8.00 Installation and Upgrade Notes Thank you for purchasing the Inmagic ODBC Driver for DB/Text. This document is for new and upgrade customers. Use the Inmagic ODBC Driver to develop
Prescribed Specialised Services 2015/16 Shadow Monitoring Tool
Prescribed Specialised Services 2015/16 Shadow Monitoring Tool Published May 2015 We are the trusted national provider of high-quality information, data and IT systems for health and social care. www.hscic.gov.uk
WS_FTP Server. User s Guide. Software Version 3.1. Ipswitch, Inc.
User s Guide Software Version 3.1 Ipswitch, Inc. Ipswitch, Inc. Phone: 781-676-5700 81 Hartwell Ave Web: http://www.ipswitch.com Lexington, MA 02421-3127 The information in this document is subject to
SOFTWARE INSTALLATION INSTRUCTIONS CLIENT/SERVER EDITION AND WEB COMPONENT VERSION 10
3245 University Avenue, Suite 1122 San Diego, California 92104 USA SOFTWARE INSTALLATION INSTRUCTIONS CLIENT/SERVER EDITION AND WEB COMPONENT VERSION 10 Document Number: SII-TT-002 Date Issued: July 8,
Thoroughbred Basic TM ODBC Client Capability Customization Supplement
Thoroughbred Basic TM ODBC Client Capability Customization Supplement Version 8.8.0 46 Vreeland Drive, Suite 1 Skillman, NJ 08558-2638 Telephone: 732-560-1377 Outside NJ 800-524-0430 Fax: 732-560-1594
Lesson 07: MS ACCESS - Handout. Introduction to database (30 mins)
Lesson 07: MS ACCESS - Handout Handout Introduction to database (30 mins) Microsoft Access is a database application. A database is a collection of related information put together in database objects.
ODBC Overview and Information
Appendix A ODBC ODBC Overview and Information ODBC, (Open Database Connectivity), is Microsoft s strategic interface for accessing data in an environment of relational and non-relational database management
Search help. More on Office.com: images templates
Page 1 of 14 Access 2010 Home > Access 2010 Help and How-to > Getting started Search help More on Office.com: images templates Access 2010: database tasks Here are some basic database tasks that you can
FOR WINDOWS FILE SERVERS
Quest ChangeAuditor FOR WINDOWS FILE SERVERS 5.1 User Guide Copyright Quest Software, Inc. 2010. All rights reserved. This guide contains proprietary information protected by copyright. The software described
Installation and Operation Manual Portable Device Manager, Windows version
Installation and Operation Manual version version About this document This document is intended as a guide for installation, maintenance and troubleshooting of Portable Device Manager (PDM) and is relevant
Dell Statistica 13.0. Statistica Enterprise Installation Instructions
Dell Statistica 13.0 2015 Dell Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in this guide is furnished under a software license or
STATISTICA VERSION 9 STATISTICA ENTERPRISE INSTALLATION INSTRUCTIONS FOR USE WITH TERMINAL SERVER
Notes: STATISTICA VERSION 9 STATISTICA ENTERPRISE INSTALLATION INSTRUCTIONS FOR USE WITH TERMINAL SERVER 1. These instructions focus on installation on Windows Terminal Server (WTS), but are applicable
MS Access Lab 2. Topic: Tables
MS Access Lab 2 Topic: Tables Summary Introduction: Tables, Start to build a new database Creating Tables: Datasheet View, Design View Working with Data: Sorting, Filtering Help on Tables Introduction
Legal Information Trademarks Licensing Disclaimer
Scribe Insight Tutorials www.scribesoft.com 10/1/2014 Legal Information 1996-2014 Scribe Software Corporation. All rights reserved. Complying with all applicable copyright laws is the responsibility of
Sample- for evaluation purposes only. Advanced Crystal Reports. TeachUcomp, Inc.
A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc. 2011 Advanced Crystal Reports TeachUcomp, Inc. it s all about you Copyright: Copyright 2011 by TeachUcomp, Inc. All rights reserved.
Evaluator s Guide. PC-Duo Enterprise HelpDesk v5.0. Copyright 2006 Vector Networks Ltd and MetaQuest Software Inc. All rights reserved.
Evaluator s Guide PC-Duo Enterprise HelpDesk v5.0 Copyright 2006 Vector Networks Ltd and MetaQuest Software Inc. All rights reserved. All third-party trademarks are the property of their respective owners.
Silect Software s MP Author
Silect MP Author for Microsoft System Center Operations Manager Silect Software s MP Author User Guide September 2, 2015 Disclaimer The information in this document is furnished for informational use only,
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
Adobe Acrobat 9 Deployment on Microsoft Systems Management
Adobe Acrobat 9 Deployment on Microsoft Systems Management Server white paper TABLE OF CONTENTS 1. Document overview......... 1 2. References............. 1 3. Product overview.......... 1 4. Installing
Sample- for evaluation only. Introductory Access. TeachUcomp, Inc. A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc.
A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc. 2010 Introductory Access TeachUcomp, Inc. it s all about you Copyright: Copyright 2010 by TeachUcomp, Inc. All rights reserved. This
Legal Notes. Regarding Trademarks. 2012 KYOCERA Document Solutions Inc.
Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change without notice. We cannot be held liable for any problems arising from
Office of History. Using Code ZH Document Management System
Office of History Document Management System Using Code ZH Document The ZH Document (ZH DMS) uses a set of integrated tools to satisfy the requirements for managing its archive of electronic documents.
RTI Database Integration Service. Getting Started Guide
RTI Database Integration Service Getting Started Guide Version 5.2.0 2015 Real-Time Innovations, Inc. All rights reserved. Printed in U.S.A. First printing. June 2015. Trademarks Real-Time Innovations,
SpatialWare. Version 4.9.2 for Microsoft SQL Server 2008 INSTALLATION GUIDE
SpatialWare Version 4.9.2 for Microsoft SQL Server 2008 INSTALLATION GUIDE Information in this document is subject to change without notice and does not represent a commitment on the part of the vendor
Accessing Your Database with JMP 10 JMP Discovery Conference 2012 Brian Corcoran SAS Institute
Accessing Your Database with JMP 10 JMP Discovery Conference 2012 Brian Corcoran SAS Institute JMP provides a variety of mechanisms for interfacing to other products and getting data into JMP. The connection
FileMaker 13. ODBC and JDBC Guide
FileMaker 13 ODBC and JDBC Guide 2004 2013 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
How To Import A File Into The Raise S Edge
Import Guide 021312 2009 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any means, electronic, or mechanical, including photocopying, recording,
HP LaserJet MFP Analog Fax Accessory 300 Send Fax Driver Guide
HP LaserJet MFP Analog Fax Accessory 300 Send Fax Driver Guide Copyright and License 2008 Copyright Hewlett-Packard Development Company, L.P. Reproduction, adaptation, or translation without prior written
Using SQL Queries in Crystal Reports
PPENDIX Using SQL Queries in Crystal Reports In this appendix Review of SQL Commands PDF 924 n Introduction to SQL PDF 924 PDF 924 ppendix Using SQL Queries in Crystal Reports The SQL Commands feature
INTRODUCTION: SQL SERVER ACCESS / LOGIN ACCOUNT INFO:
INTRODUCTION: You can extract data (i.e. the total cost report) directly from the Truck Tracker SQL Server database by using a 3 rd party data tools such as Excel or Crystal Reports. Basically any software
ODBC Reference Guide
ODBC Reference Guide Introduction TRIMS is built around the Pervasive PSQL9. PSQL9 is a high performance record management system that performs all data handling operations. Open DataBase Connectivity
