![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Sybase is not a supported database for AS 2005. However, another Sybase customer built a cartridge and I've attached it here -- it may or may not work for you and will not be supported. You can put the attached .xsl file in the <install folder>\cartridges folder and re-start the server. Thanks, Akshai -- This posting is provided "AS IS" with no warranties, and confers no rights Please do not send email directly to this alias. This alias is for newsgroup purposes only. "Steve G" <Steve G (AT) discussions (DOT) microsoft.com> wrote in message news 4594E9A-09A7-4BA7-855F-2E5072AC1D9D (AT) microsoft (DOT) com...I use a Sybase (12.5.2) OLEDB datasource for feeding dimension data to our SQL Server 2005 Analysis Services Cubes. If I try to process any dimension I see that the SQL generated by SSAS is something like: SELECT [dbo_o_v_ccy_pair].[ccy_pair_id] AS [dbo_o_v_ccy_pairccy_pair_id0_0],[dbo_o_v_ccy_pair].[ccy_pair_name] AS [dbo_o_v_ccy_pairccy_pair_name0_1],[dbo_o_v_ccy_pair].[is_offshore_ccy] AS [dbo_o_v_ccy_pairis_offshore_ccy0_2],[dbo_o_v_ccy_pair].[start_name] AS [dbo_o_v_ccy_pairstart_name0_3],[dbo_o_v_ccy_pair].[region_id] AS [dbo_o_v_ccy_pairregion_id0_4],[dbo_o_v_ccy_pair].[is_emerging] AS [dbo_o_v_ccy_pairis_emerging0_5],[dbo_o_v_ccy_pair].[bus_region] AS [dbo_o_v_ccy_pairbus_region0_6],[dbo_o_v_ccy_pair].[is_offshore_ccy_desc] AS [dbo_o_v_ccy_pairis_offshore_ccy_desc0_7] FROM [dbo].[o_v_ccy_pair] AS [dbo_o_v_ccy_pair] .. the point is that SSAS is inserting its own, rather verbose aliases, as in .. "AS [dbo_o_v_ccy_pairccy_pair_id0_0]" .. which often results in an alias name longer than 30 characters, therefore exceeding the longest that Sybase SQL can handle and causing the dimension processing to fail. Is there any way to prevent these long aliases being created ? If so, how ? If not, does that mean than SSAS is not compatible with Sybase ? |
#3
| |||
| |||
|
|
Akshai, Thanks for your reply. We'd like to try this Sybase cartridge out, but cannot find it. I can't see any attached file. How can I access it ? "Akshai Mirchandani [MS]" wrote: Sybase is not a supported database for AS 2005. However, another Sybase customer built a cartridge and I've attached it here -- it may or may not work for you and will not be supported. You can put the attached .xsl file in the <install folder>\cartridges folder and re-start the server. Thanks, Akshai -- This posting is provided "AS IS" with no warranties, and confers no rights Please do not send email directly to this alias. This alias is for newsgroup purposes only. "Steve G" <Steve G (AT) discussions (DOT) microsoft.com> wrote in message news 4594E9A-09A7-4BA7-855F-2E5072AC1D9D (AT) microsoft (DOT) com...I use a Sybase (12.5.2) OLEDB datasource for feeding dimension data to our SQL Server 2005 Analysis Services Cubes. If I try to process any dimension I see that the SQL generated by SSAS is something like: SELECT [dbo_o_v_ccy_pair].[ccy_pair_id] AS [dbo_o_v_ccy_pairccy_pair_id0_0],[dbo_o_v_ccy_pair].[ccy_pair_name] AS [dbo_o_v_ccy_pairccy_pair_name0_1],[dbo_o_v_ccy_pair].[is_offshore_ccy] AS [dbo_o_v_ccy_pairis_offshore_ccy0_2],[dbo_o_v_ccy_pair].[start_name] AS [dbo_o_v_ccy_pairstart_name0_3],[dbo_o_v_ccy_pair].[region_id] AS [dbo_o_v_ccy_pairregion_id0_4],[dbo_o_v_ccy_pair].[is_emerging] AS [dbo_o_v_ccy_pairis_emerging0_5],[dbo_o_v_ccy_pair].[bus_region] AS [dbo_o_v_ccy_pairbus_region0_6],[dbo_o_v_ccy_pair].[is_offshore_ccy_desc] AS [dbo_o_v_ccy_pairis_offshore_ccy_desc0_7] FROM [dbo].[o_v_ccy_pair] AS [dbo_o_v_ccy_pair] .. the point is that SSAS is inserting its own, rather verbose aliases, as in .. "AS [dbo_o_v_ccy_pairccy_pair_id0_0]" .. which often results in an alias name longer than 30 characters, therefore exceeding the longest that Sybase SQL can handle and causing the dimension processing to fail. Is there any way to prevent these long aliases being created ? If so, how ? If not, does that mean than SSAS is not compatible with Sybase ? |
#4
| |||
| |||
|
#5
| |||
| |||
|
|
I've pasted it inline below. Thanks, Akshai ?xml version="1.0"? xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" xmlns:mssqlcrt="urn:sql-microsoft-com:sqlcrt" xmlns:mssqldbg="urn:sql-microsoft-com:sqldbg" xsl utput method="xml" indent="yes"/!-- ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! This is a generated file. Do not modify this file directly! -- !-- Sybase pluggable cartridge -- !-- Area of STANDARD parametrizations: these are externally passed -- xsl aram name="in_CanUseParams">yes</xsl aramxsl aram name="in_IdentStartQuotingCharacter"></xsl aramxsl aram name="in_IdentEndQuotingCharacter"></xsl aramxsl aram name="in_StringStartQuotingCharacter">N'</xsl aramxsl aram name="in_StringEndQuotingCharacter">'</xsl aram!-- Area of CORE parametrizations: These are externally checked -- mssqlcrt rovider type="prefix">Adaptive ServerAnywhere</mssqlcrt rovidermssqlcrt:capabilities mssqlcrt:supports-datepart-year/ mssqlcrt:supports-datepart-quarter/ mssqlcrt:supports-datepart-month/ mssqlcrt:supports-datepart-dayofyear/ mssqlcrt:supports-datepart-day/ mssqlcrt:supports-datepart-week/ mssqlcrt:supports-datepart-dayofweek/ mssqlcrt:supports-datepart-hour/ mssqlcrt:supports-datepart-minute/ mssqlcrt:supports-datepart-second/ mssqlcrt:supports-datepart-millisecond/ mssqlcrt:supports-multiple-distinct-count/ mssqlcrt:supports-update/ mssqlcrt:supports-insert/ mssqlcrt:supports-subselect/ mssqlcrt:supports-table-alias/ mssqlcrt:supports-column-alias/ mssqlcrt:supports-cast/ mssqlcrt:supports-remote-query/ mssqlcrt:supports-top-clause/ mssqlcrt:supports-union/ mssqlcrt:supports-union-all/ mssqlcrt:supports-fast-writeback>TABLOCK,FIRE_TRIGGERS</mssqlcrt:supports-fast-writeback !-- This cartridge is used as the default cartridge for unknown providers So even though SQL supports larger aliases (at least 128), we'll use a smaller alias for the other providers -- mssqlcrt:limit-table-identifier-length>32</mssqlcrt:limit-table-identifier-length mssqlcrt:limit-column-identifier-length>32</mssqlcrt:limit-column-identifier-length !-- Map from MSDAInitialize connection string to SQLOLEDB connection string -- mssqlcrt:remote-connection-string-mappings mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>Provider</mssqlcrt:datasource-property mssqlcrt:remote-property></mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>Data Source</mssqlcrt:datasource-property mssqlcrt:remote-property>Server</mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>Initial Catalog</mssqlcrt:datasource-property mssqlcrt:remote-property>Database</mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>User ID</mssqlcrt:datasource-property mssqlcrt:remote-property>UID</mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>Password</mssqlcrt:datasource-property mssqlcrt:remote-property>PWD</mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>Integrated Security=SSPI</mssqlcrt:datasource-property mssqlcrt:remote-property>Trusted_Connection=yes</mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping /mssqlcrt:remote-connection-string-mappings /mssqlcrt:capabilities mssqlcrt:schema-classes mssqlcrt:schema-class mssqlcrt:managed-provider>System.Data.OleDb</mssqlcrt:managed-provider mssqlcrt:type>Microsoft.DataWarehouse.Design.OleDb Schema, Microsoft.DataWarehouse</mssqlcrt:type mssqlcrt:query-designer mssqlcrt:type>Microsoft.DataWarehouse.Controls.Ole DbQueryDesigner, Microsoft.DataWarehouse</mssqlcrt:type /mssqlcrt:query-designer /mssqlcrt:schema-class mssqlcrt:schema-class mssqlcrt:managed-provider>System.Data.Odbc</mssqlcrt:managed-provider mssqlcrt:type>Microsoft.DataWarehouse.Design.OdbcS chema, Microsoft.DataWarehouse</mssqlcrt:type /mssqlcrt:schema-class /mssqlcrt:schema-classes !-- Area of internal parametrizations -- !-- overrideOfUseParams: yes = use always parametric queries no = never use parametric queries nosubsel = use as yes, but not on subselects auto = use the value of in_CanUseParams to determine -- xsl:variable name="overrideOfUseParams">auto</xsl:variable !-- shouldProduceDebug: yes = produce debug information no = do not produce debug information -- xsl:variable name="shouldProduceDebug">yes</xsl:variable !-- Area of global variables initializations -- xsl:variable name="UseParams" xsl:choose xsl:when test="normalize-space($overrideOfUseParams) = 'yes' or (normalize-space($overrideOfUseParams) = 'auto' and normalize-space($in_CanUseParams)='yes')">yes</xsl:when xsl:when test="normalize-space($overrideOfUseParams) = 'nosubsel'">nosubsel</xsl:when xsl therwise>no</xsl therwise/xsl:choose /xsl:variable xsl:variable name="ProduceDebug" select="$shouldProduceDebug"/ xsl:variable name="IdentifierStartQuotingCharacter" select="normalize-space($in_IdentStartQuotingCharacter)"/ xsl:variable name="IdentifierEndQuotingCharacter" select="normalize-space($in_IdentEndQuotingCharacter)"/ xsl:variable name="StringStartQuotingCharacter" select="normalize-space($in_StringStartQuotingCharacter)"/ xsl:variable name="StringEndQuotingCharacter" select="normalize-space($in_StringEndQuotingCharacter)"/ !-- Generated statement packaging -- xsl:template match="/" xsl:element name="Statement" !-- Generate query -- xsl:element name="Text" xsl:apply-templates select="./Statement/*[1]"/ /xsl:element !-- Generate parameters -- xsl:if test="count(./Statement/Parameters/Parameter)!=0 and ((normalize-space($UseParams)='yes') or (normalize-space($UseParams)='nosubsel'))" xsl:element name="Parameters" xsl:for-each select="./Statement/*[1]//Parameter" xsl:element name="Parameter" xsl:attribute name="ref" xsl:value-of select="./@ref"/ /xsl:attribute /xsl:element /xsl:for-each /xsl:element /xsl:if !-- Generate debug info -- xsl:if test="$ProduceDebug='yes'" xsl:element name="mssqldbg ebugInfo"xsl:element name="mssqldbg:GenerateParametricInfo" xsl:attribute name="mssqldbg:Value" xsl:value-of select="$UseParams"/ /xsl:attribute xsl:element name="mssqldbg:External" xsl:value-of select="$in_CanUseParams"/ /xsl:element xsl:element name="mssqldbg:Internal" xsl:value-of select="$overrideOfUseParams"/ /xsl:element /xsl:element /xsl:element /xsl:if /xsl:element /xsl:template !-- Union statement -- xsl:template match="Union" xsl:if test="name(..) != 'Statement' and name(..) != 'Insert'" ( /xsl:if xsl:call-template name="print-children-list" xsl:with-param name="operator" select="' UNION '"/ /xsl:call-template xsl:if test="name(..) != 'Statement' and name(..) != 'Insert'" ) /xsl:if /xsl:template !-- Union All -- xsl:template match="UnionAll" xsl:if test="name(..) != 'Statement' and name(..) != 'Insert'" ( /xsl:if xsl:call-template name="print-children-list" xsl:with-param name="operator" select="' UNION ALL '"/ /xsl:call-template xsl:if test="name(..) != 'Statement' and name(..) != 'Insert'" ) /xsl:if /xsl:template !-- Top clause -- xsl:template match="Top" TOP <xsl:value-of select="."/><xsl:text> </xsl:text /xsl:template !-- Select statement -- xsl:template match="Select" xsl:choose xsl:when test="count(./ColumnExpressions/IsValidForIndexing) != 0" SELECT OBJECTPROPERTY( object_id('<xsl:apply-templates select="./Sources/View"/>'), 'isindexable' ) /xsl:when xsl therwisexsl:if test="name(..) != 'Statement' and name(..) != 'Insert' and name(..) != 'Union' and name(..) != 'UnionAll'" ( /xsl:if SELECT <xsl:apply-templates select="./Top"/ xsl:apply-templates select="./Distinct"/ xsl:apply-templates select="./ColumnExpressions"/ xsl:if test="count(../Phase) != 0">, COUNT(*) AS [COUNT_7673aff6-2445-4ef6-a4c9-7bf3d93bd42a] </xsl:if xsl:apply-templates select="./Sources"/ xsl:apply-templates select="./Where"/ xsl:apply-templates select="./GroupBy"/ xsl:apply-templates select="./Having"/ xsl:apply-templates select="./OrderBy"/ xsl:if test="name(..) != 'Statement' and name(..) != 'Insert' and name(..) != 'Union' and name(..) != 'UnionAll'" ) /xsl:if /xsl therwise/xsl:choose /xsl:template !-- Update statement -- xsl:template match="Update" UPDATE <xsl:apply-templates select="./Target"/ xsl:apply-templates select="./Where"/ /xsl:template !-- Insert statement -- xsl:template match="Insert" INSERT INTO <xsl:apply-templates select="./Target"/ xsl:apply-templates select="./Select"/ /xsl:template !-- Delete statement -- xsl:template match="Delete" DELETE FROM <xsl:apply-templates select="./Target"/ xsl:apply-templates select="./Where"/ /xsl:template !-- Drop statement -- xsl:template match="Drop" DROP <xsl:apply-templates select="./*"/ /xsl:template !-- Create statement -- xsl:template match="Create" CREATE xsl:variable name="phase"><xsl:value-of select="./Phase"/></xsl:variable xsl:choose xsl:when test="number($phase)=1" VIEW <xsl:apply-templates select="./View"/> ( <xsl:apply-templates select="./*[4]"/>, [COUNT_7673aff6-2445-4ef6-a4c9-7bf3d93bd42a] ) WITH SCHEMABINDING AS <xsl:apply-templates select="./*[5]"/ /xsl:when xsl:when test="number($phase)=2" UNIQUE CLUSTERED INDEX <xsl:apply-templates select="./Index"/> ON xsl:apply-templates select="./View"/> ( <xsl:apply-templates select="./*[4]"/> ) /xsl:when xsl therwisexsl:apply-templates select="./*[1]"/ xsl:choose xsl:when test="name(./*[1]) = 'Table'"> ( <xsl:apply-templates select="./*[2]"/> )</xsl:when /xsl:choose /xsl therwise/xsl:choose /xsl:template !-- Remote query (OPENROWSET) -- xsl:template match="RemoteQuery" |
#6
| |||
| |||
|
|
I use a Sybase (12.5.2) OLEDB datasource for feeding dimension data to our SQL Server 2005 Analysis Services Cubes. If I try to process any dimension I see that the SQL generated by SSAS is something like: SELECT [dbo_o_v_ccy_pair].[ccy_pair_id] AS [dbo_o_v_ccy_pairccy_pair_id0_0],[dbo_o_v_ccy_pair].[ccy_pair_name] AS [dbo_o_v_ccy_pairccy_pair_name0_1],[dbo_o_v_ccy_pair].[is_offshore_ccy] AS [dbo_o_v_ccy_pairis_offshore_ccy0_2],[dbo_o_v_ccy_pair].[start_name] AS [dbo_o_v_ccy_pairstart_name0_3],[dbo_o_v_ccy_pair].[region_id] AS [dbo_o_v_ccy_pairregion_id0_4],[dbo_o_v_ccy_pair].[is_emerging] AS [dbo_o_v_ccy_pairis_emerging0_5],[dbo_o_v_ccy_pair].[bus_region] AS [dbo_o_v_ccy_pairbus_region0_6],[dbo_o_v_ccy_pair].[is_offshore_ccy_desc] AS [dbo_o_v_ccy_pairis_offshore_ccy_desc0_7] FROM [dbo].[o_v_ccy_pair] AS [dbo_o_v_ccy_pair] .. the point is that SSAS is inserting its own, rather verbose aliases, as in .. "AS [dbo_o_v_ccy_pairccy_pair_id0_0]" .. which often results in an alias name longer than 30 characters, therefore exceeding the longest that Sybase SQL can handle and causing the dimension processing to fail. Is there any way to prevent these long aliases being created ? If so, how ? If not, does that mean than SSAS is not compatible with Sybase ? |
#7
| |||
| |||
|
|
hi, Is Informix not supported for AS2005 ? I create a informix oledb(2.90TC3) datasource and test connection successfully, but failed to create a infromix data source view.(More details errors @ subject: AS2005 data source limitation) Whould you point me how I could solve this problem? What is a cartridge and How can I make it? Thanks. "Akshai Mirchandani [MS]" <akshaim (AT) online (DOT) microsoft.com 撰寫於郵件新聞:%23bkCKlJ8FHA.2716 (AT) TK2MSFTNGP11 (DOT) phx.gbl... Sybase is not a supported database for AS 2005. However, another Sybase customer built a cartridge and I've attached it here -- it may or may not work for you and will not be supported. You can put the attached .xsl file in the <install folder>\cartridges folder and re-start the server. Thanks, Akshai -- This posting is provided "AS IS" with no warranties, and confers no rights Please do not send email directly to this alias. This alias is for newsgroup purposes only. "Steve G" <Steve G (AT) discussions (DOT) microsoft.com> wrote in message news 4594E9A-09A7-4BA7-855F-2E5072AC1D9D (AT) microsoft (DOT) com...I use a Sybase (12.5.2) OLEDB datasource for feeding dimension data to our SQL Server 2005 Analysis Services Cubes. If I try to process any dimension I see that the SQL generated by SSAS is something like: SELECT [dbo_o_v_ccy_pair].[ccy_pair_id] AS [dbo_o_v_ccy_pairccy_pair_id0_0],[dbo_o_v_ccy_pair].[ccy_pair_name] AS [dbo_o_v_ccy_pairccy_pair_name0_1],[dbo_o_v_ccy_pair].[is_offshore_ccy] AS [dbo_o_v_ccy_pairis_offshore_ccy0_2],[dbo_o_v_ccy_pair].[start_name] AS [dbo_o_v_ccy_pairstart_name0_3],[dbo_o_v_ccy_pair].[region_id] AS [dbo_o_v_ccy_pairregion_id0_4],[dbo_o_v_ccy_pair].[is_emerging] AS [dbo_o_v_ccy_pairis_emerging0_5],[dbo_o_v_ccy_pair].[bus_region] AS [dbo_o_v_ccy_pairbus_region0_6],[dbo_o_v_ccy_pair].[is_offshore_ccy_desc] AS [dbo_o_v_ccy_pairis_offshore_ccy_desc0_7] FROM [dbo].[o_v_ccy_pair] AS [dbo_o_v_ccy_pair] .. the point is that SSAS is inserting its own, rather verbose aliases, as in .. "AS [dbo_o_v_ccy_pairccy_pair_id0_0]" .. which often results in an alias name longer than 30 characters, therefore exceeding the longest that Sybase SQL can handle and causing the dimension processing to fail. Is there any way to prevent these long aliases being created ? If so, how ? If not, does that mean than SSAS is not compatible with Sybase ? |
#8
| |||
| |||
|
|
I have an xsl file that works for Sybase IQ. I'm not sure if it would work with Sybase ASE or not. I know there are some subtle differences in valid SQL between the two. |
#9
| |||
| |||
|
|
Thanks for the cartridge. "Akshai Mirchandani [MS]" wrote: I've pasted it inline below. Thanks, Akshai ?xml version="1.0"? xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" xmlns:mssqlcrt="urn:sql-microsoft-com:sqlcrt" xmlns:mssqldbg="urn:sql-microsoft-com:sqldbg" xsl utput method="xml" indent="yes"/!-- ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! This is a generated file. Do not modify this file directly! -- !-- Sybase pluggable cartridge -- !-- Area of STANDARD parametrizations: these are externally passed -- xsl aram name="in_CanUseParams">yes</xsl aramxsl aram name="in_IdentStartQuotingCharacter"></xsl aramxsl aram name="in_IdentEndQuotingCharacter"></xsl aramxsl aram name="in_StringStartQuotingCharacter">N'</xsl aramxsl aram name="in_StringEndQuotingCharacter">'</xsl aram!-- Area of CORE parametrizations: These are externally checked -- mssqlcrt rovider type="prefix">Adaptive ServerAnywhere</mssqlcrt rovidermssqlcrt:capabilities mssqlcrt:supports-datepart-year/ mssqlcrt:supports-datepart-quarter/ mssqlcrt:supports-datepart-month/ mssqlcrt:supports-datepart-dayofyear/ mssqlcrt:supports-datepart-day/ mssqlcrt:supports-datepart-week/ mssqlcrt:supports-datepart-dayofweek/ mssqlcrt:supports-datepart-hour/ mssqlcrt:supports-datepart-minute/ mssqlcrt:supports-datepart-second/ mssqlcrt:supports-datepart-millisecond/ mssqlcrt:supports-multiple-distinct-count/ mssqlcrt:supports-update/ mssqlcrt:supports-insert/ mssqlcrt:supports-subselect/ mssqlcrt:supports-table-alias/ mssqlcrt:supports-column-alias/ mssqlcrt:supports-cast/ mssqlcrt:supports-remote-query/ mssqlcrt:supports-top-clause/ mssqlcrt:supports-union/ mssqlcrt:supports-union-all/ mssqlcrt:supports-fast-writeback>TABLOCK,FIRE_TRIGGERS</mssqlcrt:supports-fast-writeback !-- This cartridge is used as the default cartridge for unknown providers So even though SQL supports larger aliases (at least 128), we'll use a smaller alias for the other providers -- mssqlcrt:limit-table-identifier-length>32</mssqlcrt:limit-table-identifier-length mssqlcrt:limit-column-identifier-length>32</mssqlcrt:limit-column-identifier-length !-- Map from MSDAInitialize connection string to SQLOLEDB connection string -- mssqlcrt:remote-connection-string-mappings mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>Provider</mssqlcrt:datasource-property mssqlcrt:remote-property></mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>Data Source</mssqlcrt:datasource-property mssqlcrt:remote-property>Server</mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>Initial Catalog</mssqlcrt:datasource-property mssqlcrt:remote-property>Database</mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>User ID</mssqlcrt:datasource-property mssqlcrt:remote-property>UID</mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>Password</mssqlcrt:datasource-property mssqlcrt:remote-property>PWD</mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping mssqlcrt:remote-connection-string-mapping mssqlcrt:datasource-property>Integrated Security=SSPI</mssqlcrt:datasource-property mssqlcrt:remote-property>Trusted_Connection=yes</mssqlcrt:remote-property /mssqlcrt:remote-connection-string-mapping /mssqlcrt:remote-connection-string-mappings /mssqlcrt:capabilities mssqlcrt:schema-classes mssqlcrt:schema-class mssqlcrt:managed-provider>System.Data.OleDb</mssqlcrt:managed-provider mssqlcrt:type>Microsoft.DataWarehouse.Design.OleDb Schema, Microsoft.DataWarehouse</mssqlcrt:type mssqlcrt:query-designer mssqlcrt:type>Microsoft.DataWarehouse.Controls.Ole DbQueryDesigner, Microsoft.DataWarehouse</mssqlcrt:type /mssqlcrt:query-designer /mssqlcrt:schema-class mssqlcrt:schema-class mssqlcrt:managed-provider>System.Data.Odbc</mssqlcrt:managed-provider mssqlcrt:type>Microsoft.DataWarehouse.Design.OdbcS chema, Microsoft.DataWarehouse</mssqlcrt:type /mssqlcrt:schema-class /mssqlcrt:schema-classes !-- Area of internal parametrizations -- !-- overrideOfUseParams: yes = use always parametric queries no = never use parametric queries nosubsel = use as yes, but not on subselects auto = use the value of in_CanUseParams to determine -- xsl:variable name="overrideOfUseParams">auto</xsl:variable !-- shouldProduceDebug: yes = produce debug information no = do not produce debug information -- xsl:variable name="shouldProduceDebug">yes</xsl:variable !-- Area of global variables initializations -- xsl:variable name="UseParams" xsl:choose xsl:when test="normalize-space($overrideOfUseParams) = 'yes' or (normalize-space($overrideOfUseParams) = 'auto' and normalize-space($in_CanUseParams)='yes')">yes</xsl:when xsl:when test="normalize-space($overrideOfUseParams) = 'nosubsel'">nosubsel</xsl:when xsl therwise>no</xsl therwise/xsl:choose /xsl:variable xsl:variable name="ProduceDebug" select="$shouldProduceDebug"/ xsl:variable name="IdentifierStartQuotingCharacter" select="normalize-space($in_IdentStartQuotingCharacter)"/ xsl:variable name="IdentifierEndQuotingCharacter" select="normalize-space($in_IdentEndQuotingCharacter)"/ xsl:variable name="StringStartQuotingCharacter" select="normalize-space($in_StringStartQuotingCharacter)"/ xsl:variable name="StringEndQuotingCharacter" select="normalize-space($in_StringEndQuotingCharacter)"/ !-- Generated statement packaging -- xsl:template match="/" xsl:element name="Statement" !-- Generate query -- xsl:element name="Text" xsl:apply-templates select="./Statement/*[1]"/ /xsl:element !-- Generate parameters -- xsl:if test="count(./Statement/Parameters/Parameter)!=0 and ((normalize-space($UseParams)='yes') or (normalize-space($UseParams)='nosubsel'))" xsl:element name="Parameters" xsl:for-each select="./Statement/*[1]//Parameter" xsl:element name="Parameter" xsl:attribute name="ref" xsl:value-of select="./@ref"/ /xsl:attribute /xsl:element /xsl:for-each /xsl:element /xsl:if !-- Generate debug info -- xsl:if test="$ProduceDebug='yes'" xsl:element name="mssqldbg ebugInfo"xsl:element name="mssqldbg:GenerateParametricInfo" xsl:attribute name="mssqldbg:Value" xsl:value-of select="$UseParams"/ /xsl:attribute xsl:element name="mssqldbg:External" xsl:value-of select="$in_CanUseParams"/ /xsl:element xsl:element name="mssqldbg:Internal" xsl:value-of select="$overrideOfUseParams"/ /xsl:element /xsl:element /xsl:element /xsl:if /xsl:element /xsl:template !-- Union statement -- xsl:template match="Union" xsl:if test="name(..) != 'Statement' and name(..) != 'Insert'" ( /xsl:if xsl:call-template name="print-children-list" xsl:with-param name="operator" select="' UNION '"/ /xsl:call-template xsl:if test="name(..) != 'Statement' and name(..) != 'Insert'" ) /xsl:if /xsl:template !-- Union All -- xsl:template match="UnionAll" xsl:if test="name(..) != 'Statement' and name(..) != 'Insert'" ( /xsl:if xsl:call-template name="print-children-list" xsl:with-param name="operator" select="' UNION ALL '"/ /xsl:call-template xsl:if test="name(..) != 'Statement' and name(..) != 'Insert'" ) /xsl:if /xsl:template !-- Top clause -- xsl:template match="Top" TOP <xsl:value-of select="."/><xsl:text> </xsl:text /xsl:template !-- Select statement -- xsl:template match="Select" xsl:choose xsl:when test="count(./ColumnExpressions/IsValidForIndexing) != 0" SELECT OBJECTPROPERTY( object_id('<xsl:apply-templates select="./Sources/View"/>'), 'isindexable' ) /xsl:when xsl therwisexsl:if test="name(..) != 'Statement' and name(..) != 'Insert' and name(..) != 'Union' and name(..) != 'UnionAll'" ( /xsl:if SELECT <xsl:apply-templates select="./Top"/ xsl:apply-templates select="./Distinct"/ xsl:apply-templates select="./ColumnExpressions"/ xsl:if test="count(../Phase) != 0">, COUNT(*) AS [COUNT_7673aff6-2445-4ef6-a4c9-7bf3d93bd42a] </xsl:if xsl:apply-templates select="./Sources"/ xsl:apply-templates select="./Where"/ xsl:apply-templates select="./GroupBy"/ xsl:apply-templates select="./Having"/ xsl:apply-templates select="./OrderBy"/ xsl:if test="name(..) != 'Statement' and name(..) != 'Insert' and name(..) != 'Union' and name(..) != 'UnionAll'" ) /xsl:if /xsl therwise/xsl:choose /xsl:template !-- Update statement -- xsl:template match="Update" UPDATE <xsl:apply-templates select="./Target"/ xsl:apply-templates select="./Where"/ /xsl:template !-- Insert statement -- xsl:template match="Insert" INSERT INTO <xsl:apply-templates select="./Target"/ xsl:apply-templates select="./Select"/ /xsl:template !-- Delete statement -- xsl:template match="Delete" DELETE FROM <xsl:apply-templates select="./Target"/ xsl:apply-templates select="./Where"/ /xsl:template !-- Drop statement -- xsl:template match="Drop" DROP <xsl:apply-templates select="./*"/ /xsl:template !-- Create statement -- xsl:template match="Create" CREATE xsl:variable name="phase"><xsl:value-of select="./Phase"/></xsl:variable xsl:choose xsl:when test="number($phase)=1" VIEW <xsl:apply-templates select="./View"/> ( <xsl:apply-templates select="./*[4]"/>, [COUNT_7673aff6-2445-4ef6-a4c9-7bf3d93bd42a] ) WITH SCHEMABINDING AS <xsl:apply-templates select="./*[5]"/ /xsl:when xsl:when test="number($phase)=2" UNIQUE CLUSTERED INDEX <xsl:apply-templates select="./Index"/> ON xsl:apply-templates select="./View"/> ( <xsl:apply-templates select="./*[4]"/> ) /xsl:when xsl therwisexsl:apply-templates select="./*[1]"/ xsl:choose xsl:when test="name(./*[1]) = 'Table'"> ( <xsl:apply-templates select="./*[2]"/> )</xsl:when /xsl:choose /xsl therwise/xsl:choose |
![]() |
| Thread Tools | |
| Display Modes | |
| |