Professional > Data management scripting > Transferring data using a DMS file > Reading data > Reading data using other OLE DB providers
 
Reading data using other OLE DB providers
You are not restricted to using the UNICOM Intelligence Data Model to read the data: you can read data using any suitable OLE DB provider that is installed on your system.
Using a non-UNICOM Intelligence Data Model OLE DB provider to read the data is similar to doing a case data-only transfer using the UNICOM Intelligence Data Model to read the data. However, non-UNICOM Intelligence Data Model providers do not provide built-in support for market research data types, such as single response and multiple response categorical data. The Data Model can read Microsoft Access tables, Microsoft Excel worksheets, and SQL Server tables: for more information, see Transferring data from Microsoft Office.
If you specify a Metadata section or an output metadata name when you are using a non-UNICOM Intelligence Data Model provider, they will be ignored without giving an error. However, you will get an error (typically “Object reference not set to an instance of an object”) if you include an OnAfterMetaDataTransformation Event section, OnJobStart Event section, OnNextCase Event section, or OnJobEnd Event section in your DMS file. These Event sections are available only when using the UNICOM Intelligence Data Model to read the case data with an input metadata source.
You will get an error if you do not specify a select query in the InputDataSource section when you are not using the UNICOM Intelligence Data Model provider. This is because when not specified, the select query defaults to SELECT * FROM vdata and this fails because typically the data source will not contain a table called vdata. So make sure you specify a suitable select query. Each provider has its own rules about the SQL syntax and connection properties it supports. For further information, see documentation about the provider you are using.
Column names that are not valid UNICOM Intelligence Data Model identifier names will cause an error (typically “Error: Failed to create target table: Output - Unknown table 'VDATA'”) if they are not given special handling. For example, Tree Type is not a valid UNICOM Intelligence Data Model identifier name because it contains a space character. This means you will get an error if you use a SELECT * FROM < Table Name> select query. However, the transfer will run successfully if you redefine the column name using the AS keyword in your select query. For example:
SelectQuery = "SELECT [Tree ID] As TreeID, [Tree Type] As TreeType FROM Trees"
You cannot use the AS keyword when you are transferring the data to a .sav file. For more information, see FAQs about how to set up specific jobs.
Alternatively, you could rename the column in your data source. For more information, see Identifier naming conventions.
The Provider tab in the Data Link dialog box lists all of the OLE DB providers that are installed. (You can open the Data Link dialog box in WinDMSRun or using a data link (.udl) file. For more information, see To create a data link file.
Each provider has different requirements for the connection string. If you select a provider on the Provider tab in the Data Link dialog box, and then click Next, the Connection tab shows the main connection properties for that provider.
See also
Reading data