Why do some variable names give a syntax error in some third-party applications, such as DTS?
Many Data Model variable names contain brackets ([ ]) and points (.). For example, order[{First}] and Newspapers[{USA_Today}].Rating. Although the Data Model can handle these characters, some SQL parsers cannot. You are most likely to encounter this problem in user interfaces that generate or preprocess the SQL syntax. Sometimes these parsing errors prevent the application passing the SQL to the Data Model for processing.
You can usually get around this problem by massaging the SQL statement so that the parser will accept it. For example, the following line in a Create Table statement gives a syntax error when it is parsed by DTS:
[order[{First}].Column.Ex] varchar(1000) NULL
You can get around this problem by escaping the end brackets. For example:
[order[{First}]].Column.Ex] varchar(1000) NULL
Alternatively, try enclosing the variable name in double quotation marks (") instead of brackets:
"order[{First}].Column.Ex" varchar(1000) NULL
Sometimes you may encounter other problems with Data Model variable names in third party application interfaces. For example, when you use the SPSS for Windows 10 ODBC wizard to select a variable named Prd.Rate, it generates a Select statement of the following form:
SELECT "TO"."Prd"."Rate" AS "Prd.Rate" FROM "VDATA" "TO"
Instead of:
SELECT "TO"."Prd.Rate" AS "Prd.Rate" FROM "VDATA" "TO"
Some applications incorporate scripting technologies that by-pass the interfaces that exhibit these problems. For example, in SPSS for Windows, you can generate an SPSS syntax (.sps) file and in Excel, you can generate an Excel query (.dqy) file. Using these scripting technologies provides an alternative way to work around these problems.
See also