...
- Integer-type Primary Key Required: External data needs a unique integer-type field that can be aliased as an ID.
- External Data Not on Local Server Needs a Linked Server Relationship: If the external data is not physically stored on the local SQL server where Aptify is installed, then you need to create a Linked Server relationship.
- External Data Not on Local Server Must Map to a View in a Database on the Local Server: If the external data is not physically stored on the local SQL server where Aptify is installed, then you must also create a view in a local database that points to the virtual entity's data source.
Anchor _primaryKey _primaryKey
Integer-type Primary Key Required
_primaryKey | |
_primaryKey |
Data displayed in Aptify must have a unique integer-type field (int, smallint, bigint) that can be used as the ID value for the record. Aptify requires that primary keys use an integer type for ID values.
...
Note that this requirement is already met if mapping Aptify sub-type data to a virtual entity, since sub-type entities already have an ID field.
Anchor _linkedServer _linkedServer
External Data Not on Local Server Needs a Linked Server Relationship
_linkedServer | |
_linkedServer |
A virtual entity can display external data that is not stored physically in the local SQL Server. However, to display this data in Aptify, the external data source must have a Linked Server relationship with the SQL Server that hosts Aptify.
Therefore, the external data must be in a format and location that is supported by SQL Server's Linked Server functionality. Examples of supported data sources include other SQL Server machines, OLE DB or ODBC data source as well as Jet/MS Access. Oracle, DB2, and other relational databases can be connected via OLE DB or ODBC.
Follow these steps to create a Linked Server relationship:
...
See Creating a Linked Server Relationship for a Virtual Entity for more information about establishing this relationship.
Anchor _databaseMap _databaseMap
External Data Not on Local Server Must Map to a View in a Database on the Local Server
_databaseMap | |
_databaseMap |
A virtual entity in Aptify obtains data from a view that is stored in a database on the local SQL server, either in the APTIFY database or another local database. Therefore, if you are creating a virtual entity for external data that is not on the local server or if you creating a virtual entity of Aptify data (such as a sub-type entity), then you need to create a view in a local database from which Aptify can pull the virtual data.
The steps below describe how to create this view using Microsoft SQL Server Management Studio in a local database other than APTIFY. The screen captures included with these steps illustrate how to create a view of data from a LibraryInventory table that exists in a database named Vault on another SQL server on the network. This other SQL server (named, EXTERNAL_DATA) has a Linked Server relationship with the local SQL server.
Note |
---|
Best Practice Tip: If you want to create the view of the external data directly in the APTIFY database, Aptify strongly recommends that you add the view to the database using a Database Objects record rather than creating the view using Microsoft SQL Server Management Studio. See Creating Database Objects for information on using the Database Objects service. |
- The second example creates a view of Aptify's ProductPrices sub-type entity in another database on the local server.
Follow these steps to create a view to external data in a local database other than APTIFY:
...
- CREATE VIEW [ViewName]
AS
SELECT * FROM [LinkedServerName].[database on linked server, if applicable].dbo.[ExternalTableName]
GO
GRANT SELECT ON [ViewName] to [database role]
...
...
CREATE VIEW [ViewName]
AS
SELECT * FROM APTIFY.dbo.[TableName]
GO
GRANT SELECT ON [ViewName] to [database role]
The statement shown in figure below will create a view named vwVirtualProductPrices to display all of the data from Aptify's ProductPrices sub-type entity.
Note |
---|
For the sake of simplicity, the sample view above grants access to the public database role. However, when creating a database view, you should follow your organization's standard security practices and grant SELECT access only to those roles that require it. |
...
Creating a virtual entity to retrieve data in this way requires first that a linked server relationship be in place. See Creating a Linked Server Relationship for a Virtual Entity for more information about establishing this relationship. With that relationship established, the view needs to be created in the local database, as described in Creating a View in a Local Database to Point to a Virtual Entity Data Source.