<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Songhay System Funky KB: SQL and Database Management Systems</title>
        <link>http://www.songhaysystem.com/kb/subject/sql</link>
        <description>The Funky Knowledge Base at songhaysystem.com. The subject of this channel is SQL and Database Management Systems.</description>
        <lastBuildDate>Tue, 02 Sep 2008 03:28:56 GMT</lastBuildDate>
        <item>
<title>SQL Server 2005 PROBLEM: “Unable to determine if the owner (DOMAIN\xxx) of job &amp;lt;JOB_Name&amp;gt; has server access (reason: error code 0x534. [SQLSTATE 42000] (Error 15404))”; Andrew Calvett</title>
<link>http://www.songhaysystem.com/kb/number/2076072023/subject/sql</link>
<description><strong>Article Excerpt: </strong>SQL Server Agent jobs can revert back to their previous owner. This can produce the error: “Unable to determine if the owner (DOMAIN\xxx) of job &amp;lt;JOB_Name&amp;gt; has server access (reason: error code 0x534. [SQLSTATE 42000] (Error 15404))”

Ultimately the s…</description>
<pubDate>Tue, 02 Sep 2008 03:28:56 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server Express: “SQL Server Express and Hosting”</title>
<link>http://www.songhaysystem.com/kb/number/2076071988/subject/sql</link>
<description><strong>Article Excerpt: </strong>MSDN: “Several questions have come up lately regarding whether SQL Server Express is an appropriate product to be used in a hosting environment.”

“All versions of SQL Server including Express Edition are RECOMMENDED for dedicated (single-tenant) ho…</description>
<pubDate>Tue, 19 Aug 2008 22:51:01 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>Microsoft SQL Server 2005/2000 Compatibility Problem: SQL 2005 CREATE TABLE Syntax Fails in SQL 2000</title>
<link>http://www.songhaysystem.com/kb/number/2076071957/subject/sql</link>
<description><strong>Article Excerpt: </strong>One glaring difference in the CREATE TABLE syntax between SQL 2000 and 2005 is this 2005 clause:

    WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

The only WITH clause support in SQL Server 2000 is WITH FILLFACTOR.</description>
<pubDate>Mon, 12 May 2008 20:19:56 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 t-SQL: The Use of the nodes() Method for SQL Types; Converting XML Data into SQL Types</title>
<link>http://www.songhaysystem.com/kb/number/2076071938/subject/sql</link>
<description><strong>Article Excerpt: </strong>DECLARE @xml xml

SET @xml = '
    &amp;lt;Root&amp;gt;
        &amp;lt;Item&amp;gt;one&amp;lt;/Item&amp;gt;
        &amp;lt;Item&amp;gt;two&amp;lt;/Item&amp;gt;
        &amp;lt;Item&amp;gt;three&amp;lt;/Item&amp;gt;
        &amp;lt;Item&amp;gt;four&amp;lt;/Item&amp;gt;
        &amp;lt;Item&amp;gt;five&amp;lt;/Item&amp;gt;
    &amp;lt;/Root&amp;gt;
'

SELECT
    Temp.Items.value('.','varchar(16)') AS [Items]
FROM
    @x…</description>
<pubDate>Wed, 16 Jan 2008 01:38:06 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2000: DTS; “Package Ownership Issues”; http://www.sqldts.com/212.aspx</title>
<link>http://www.songhaysystem.com/kb/number/2076071935/subject/sql</link>
<description><strong>Article Excerpt: </strong>“spDTSChangeOwner, available on the downloads page, is a convenient wrapper around sp_reassign_dtspackageowner. It accepts two parameters @old_owner and @new_owner, which should be self explanatory.”

As of this writing, download the script here:

   …</description>
<pubDate>Fri, 28 Dec 2007 19:28:48 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 t-SQL: The Use of the nodes() Method for XML Types</title>
<link>http://www.songhaysystem.com/kb/number/2076071925/subject/sql</link>
<description><strong>Article Excerpt: </strong>DECLARE @xml xml

SET @xml = '
    &amp;lt;Root&amp;gt;
        &amp;lt;Item1 /&amp;gt;
        &amp;lt;Item2 /&amp;gt;
        &amp;lt;Item3 /&amp;gt;
        &amp;lt;Item4 /&amp;gt;
        &amp;lt;Item5 /&amp;gt;
    &amp;lt;/Root&amp;gt;
'

SELECT
    Temp.Items.query('.') AS [Items]
FROM
    @xml.nodes('//Root/*') AS Temp(Items)

/*
    The SELEC…</description>
<pubDate>Sun, 23 Dec 2007 06:06:50 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 t-SQL: The Use of the modify() Method for XML Types; insert text; replace value of; XML Data Modification Language (DML)</title>
<link>http://www.songhaysystem.com/kb/number/2076071929/subject/sql</link>
<description><strong>Article Excerpt: </strong>DECLARE @xml xml

SET @xml =
'
&amp;lt;Root&amp;gt;
    &amp;lt;Item1 /&amp;gt;
    &amp;lt;Item2 /&amp;gt;
    &amp;lt;Item3 /&amp;gt;
    &amp;lt;Item4 /&amp;gt;
    &amp;lt;Item5 /&amp;gt;
&amp;lt;/Root&amp;gt;
'

SET
    @xml.modify
    ('
        insert text {&quot;Hello World&quot;} as first into (/Root/Item3)[1]
    ')

SET
    @xml.modify
    ('
       …</description>
<pubDate>Sun, 23 Dec 2007 06:58:02 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 t-SQL: The Use of the modify() Method for XML Types; insert text; XML Data Modification Language (DML)</title>
<link>http://www.songhaysystem.com/kb/number/2076071928/subject/sql</link>
<description><strong>Article Excerpt: </strong>DECLARE @xml xml

SET @xml =
'
&amp;lt;Root&amp;gt;
    &amp;lt;Item1 /&amp;gt;
    &amp;lt;Item2 /&amp;gt;
    &amp;lt;Item3 /&amp;gt;
    &amp;lt;Item4 /&amp;gt;
    &amp;lt;Item5 /&amp;gt;
&amp;lt;/Root&amp;gt;
'

SET
    @xml.modify
    ('
        insert text {&quot;Hello World&quot;} as first into (/Root/Item3)[1]
    ')

SELECT @xml

/*
    This projectio…</description>
<pubDate>Sun, 23 Dec 2007 07:03:00 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 t-SQL: The Use of the modify() Method for XML Types; insert element; XML Data Modification Language (DML)</title>
<link>http://www.songhaysystem.com/kb/number/2076071926/subject/sql</link>
<description><strong>Article Excerpt: </strong>DECLARE @xml xml

SET @xml =
'
&amp;lt;Root&amp;gt;
    &amp;lt;Item1 /&amp;gt;
    &amp;lt;Item2 /&amp;gt;
    &amp;lt;Item3 /&amp;gt;
    &amp;lt;Item4 /&amp;gt;
    &amp;lt;Item5 /&amp;gt;
&amp;lt;/Root&amp;gt;
'

SET
    @xml.modify
    ('
        insert element Item6 {} as last into (/Root)[1]
    ')

SELECT @xml

/*
    This projection produces …</description>
<pubDate>Sun, 23 Dec 2007 06:51:04 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 t-SQL: The Use of the modify() Method for XML Types; delete; XML Data Modification Language (DML)</title>
<link>http://www.songhaysystem.com/kb/number/2076071927/subject/sql</link>
<description><strong>Article Excerpt: </strong>DECLARE @xml xml

SET @xml =
'
&amp;lt;Root&amp;gt;
    &amp;lt;Item1 /&amp;gt;
    &amp;lt;Item2 /&amp;gt;
    &amp;lt;Item3 /&amp;gt;
    &amp;lt;Item4 /&amp;gt;
    &amp;lt;Item5 /&amp;gt;
&amp;lt;/Root&amp;gt;
'

SET
    @xml.modify
    ('
        delete ((/Root/*[5])[1])
    ')

SELECT @xml

/*
    &amp;lt;Item5 /&amp;gt; should be deleted.

    Note that the …</description>
<pubDate>Sun, 23 Dec 2007 06:44:38 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 t-SQL: Flippant Remarks about Using XPath Assertions Instead of XML Schema</title>
<link>http://www.songhaysystem.com/kb/number/2076071920/subject/sql</link>
<description><strong>Article Excerpt: </strong>For some crazy reason you may want to avoid making a CREATE XML SCHEMA COLLECTION statement but still validate your XML. Here is an example to do this with XPath assertions in XQuery:


    IF (@xmlInput.exist('//HostName') = 0)
    OR (@xmlInput.value('s…</description>
<pubDate>Tue, 11 Dec 2007 20:57:09 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 t-SQL: Basic XQuery Example</title>
<link>http://www.songhaysystem.com/kb/number/2076071919/subject/sql</link>
<description><strong>Article Excerpt: </strong>DECLARE @x xml

SET @x = '
&amp;lt;root&amp;gt;
    &amp;lt;myElement myAttribute=&quot;attrValue&quot;&amp;gt;The element value.&amp;lt;/myElement&amp;gt;
&amp;lt;/root&amp;gt;
'

SELECT
    @x.query('//myElement/node()') as [element value]
,   @x.query('data(//myElement)') as [element value]
,   @x.query('data(//myEle…</description>
<pubDate>Mon, 10 Dec 2007 23:57:56 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Stored Procedure Structure for Microsoft SQL Server 7.0/2000; Command Names Pattern</title>
<link>http://www.songhaysystem.com/kb/number/2076071681/subject/sql</link>
<description><strong>Article Excerpt: </strong>IF OBJECT_ID('_newproc') IS NOT NULL
BEGIN
    DROP PROCEDURE _newproc
    IF OBJECT_ID('_newproc') IS NOT NULL
        PRINT '&amp;lt;&amp;lt;&amp;lt; FAILED DROPPING PROCEDURE _newproc &amp;gt;&amp;gt;&amp;gt;'
    ELSE
        PRINT '&amp;lt;&amp;lt;&amp;lt; DROPPED PROCEDURE _newproc &amp;gt;&amp;gt;&amp;gt;'
END
GO

CREATE PROCEDURE…</description>
<pubDate>Mon, 19 Nov 2007 23:18:09 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Stored Procedure Structure for Microsoft SQL Server 7.0</title>
<link>http://www.songhaysystem.com/kb/number/2076071382/subject/sql</link>
<description><strong>Article Excerpt: </strong>USE DatabaseName
GO

IF OBJECT_ID('StoredProcName') IS NOT NULL
BEGIN
    DROP PROCEDURE StoredProcName
    IF OBJECT_ID('StoredProcName') IS NOT NULL
        PRINT '&amp;lt;&amp;lt;&amp;lt; FAILED DROPPING PROCEDURE StoredProcName &amp;gt;&amp;gt;&amp;gt;'
    ELSE
        PRINT '&amp;lt;&amp;lt;&amp;lt; DROPPED PRO…</description>
<pubDate>Mon, 19 Nov 2007 23:14:21 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Stored Procedure Structure for Microsoft SQL Server 6.5</title>
<link>http://www.songhaysystem.com/kb/number/-2037898918/subject/sql</link>
<description><strong>Article Excerpt: </strong>/*
This form is based on what is extracted from SQL Enterprise Manager:
*/

/*
Object:  Stored Procedure MyProc
Script Date: 09/13/1999 8:59:44 AM 
*/
IF EXISTS
    (SELECT * FROM sysobjects
    WHERE id = object_id('MyProc')
    AND sysstat &amp; 0xf = 4)
DR…</description>
<pubDate>Mon, 19 Nov 2007 23:17:20 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: Stored Procedure AutoDTS_complianceDumps; An Example of Running a DTS Package in tSQL</title>
<link>http://www.songhaysystem.com/kb/number/2076071470/subject/sql</link>
<description><strong>Article Excerpt: </strong>USE compliance
GO

IF OBJECT_ID('AutoDTS_complianceDumps') IS NOT NULL
BEGIN
    DROP PROCEDURE AutoDTS_complianceDumps
    IF OBJECT_ID('AutoDTS_complianceDumps') IS NOT NULL
        PRINT '&amp;lt;&amp;lt;&amp;lt; FAILED DROPPING PROCEDURE AutoDTS_complianceDumps &amp;gt;&amp;gt;&amp;gt;'
    E…</description>
<pubDate>Mon, 19 Nov 2007 23:15:01 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: Example of Connecting to Index Server and Listing Files in Scope</title>
<link>http://www.songhaysystem.com/kb/number/2076071444/subject/sql</link>
<description><strong>Article Excerpt: </strong>USE MyLocalServer
GO

IF OBJECT_ID('ListIDXFiles') IS NOT NULL 
BEGIN 
    DROP PROCEDURE ListIDXFiles
    IF OBJECT_ID('ListIDXFiles') IS NOT NULL
        PRINT '&amp;lt;&amp;lt;&amp;lt; FAILED DROPPING PROCEDURE ListIDXFiles &amp;gt;&amp;gt;&amp;gt;'
    ELSE 
        PRINT '&amp;lt;&amp;lt;&amp;lt; DROPPED PROCEDU…</description>
<pubDate>Mon, 19 Nov 2007 23:16:26 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL: When to Use Dynamic SQL and When to Use Stored Procedures; Views and SELECT Stored Procedures</title>
<link>http://www.songhaysystem.com/kb/number/910205312/subject/sql</link>
<description><strong>Article Excerpt: </strong>* Dynamic SQL and Stored Procedures

Fundamentally, use Dynamic SQL (that is, SQL built &quot;on the fly&quot; in code) when it is impossible to use Stored Procedures. Many SQL servers cannot use late binding on database objects. In such servers, stored procedures …</description>
<pubDate>Mon, 19 Nov 2007 23:15:47 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005: Flippant Remarks about the New FOR XML PATH() Syntax</title>
<link>http://www.songhaysystem.com/kb/number/2076071912/subject/sql</link>
<description><strong>Article Excerpt: </strong>The FOR XML PATH() syntax uses standard XPath queries to replace the proprietary and often extremely confusing syntax of the FOR XML EXPLICIT syntax. The following code block shows how this works:

    DECLARE
        @d1 XML
    ,   @d2 XML

    SET @d1 …</description>
<pubDate>Thu, 08 Nov 2007 01:39:25 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 t-SQL: Linking an Orphaned Database User to a Server Login</title>
<link>http://www.songhaysystem.com/kb/number/2076071882/subject/sql</link>
<description><strong>Article Excerpt: </strong>/*
    A user gets often gets orphaned (or broken)
    when attaching a database to a new server.

    Documentation:
        http://msdn2.microsoft.com/en-us/library/ms174378.aspx
*/
EXECUTE
    sp_change_users_login
        @Action='Auto_Fix',
        @…</description>
<pubDate>Mon, 17 Sep 2007 20:16:37 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: A Function for Checking for the Existence of an Object; fItemExists()</title>
<link>http://www.songhaysystem.com/kb/number/2076071807/subject/sql</link>
<description><strong>Article Excerpt: </strong>USE [Database]
GO
IF OBJECT_ID('fItemExists') IS NOT NULL 
BEGIN 
    DROP FUNCTION fItemExists
    IF OBJECT_ID('fItemExists') IS NOT NULL
        PRINT '&amp;lt;&amp;lt;&amp;lt; FAILED DROPPING FUNCTION fItemExists &amp;gt;&amp;gt;&amp;gt;'
    ELSE 
        PRINT '&amp;lt;&amp;lt;&amp;lt; DROPPED FUNCTION fItemExi…</description>
<pubDate>Wed, 04 Apr 2007 19:44:27 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: User-Defined Function Structure; Table/Set Form</title>
<link>http://www.songhaysystem.com/kb/number/2076071727/subject/sql</link>
<description><strong>Article Excerpt: </strong>USE [Database]
GO

IF OBJECT_ID('fUserDefined') IS NOT NULL 
BEGIN 
    DROP FUNCTION fUserDefined
    IF OBJECT_ID('fUserDefined') IS NOT NULL
        PRINT '&amp;lt;&amp;lt;&amp;lt; FAILED DROPPING FUNCTION fUserDefined &amp;gt;&amp;gt;&amp;gt;'
    ELSE 
        PRINT '&amp;lt;&amp;lt;&amp;lt; DROPPED FUNCTION fUs…</description>
<pubDate>Tue, 20 Mar 2007 02:51:58 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: User-Defined Function Structure; Scalar Form</title>
<link>http://www.songhaysystem.com/kb/number/2076071726/subject/sql</link>
<description><strong>Article Excerpt: </strong>USE [Database]
GO

IF OBJECT_ID('fUserDefined') IS NOT NULL 
BEGIN 
    DROP FUNCTION fUserDefined
    IF OBJECT_ID('fUserDefined') IS NOT NULL
        PRINT '&amp;lt;&amp;lt;&amp;lt; FAILED DROPPING FUNCTION fUserDefined &amp;gt;&amp;gt;&amp;gt;'
    ELSE 
        PRINT '&amp;lt;&amp;lt;&amp;lt; DROPPED FUNCTION fUs…</description>
<pubDate>Tue, 20 Mar 2007 02:51:30 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 PROBLEM: Using the ADO.NET DbCommand.ExecuteScalar() Method Truncates at 2033 Characters</title>
<link>http://www.songhaysystem.com/kb/number/2076071783/subject/sql</link>
<description><strong>Article Excerpt: </strong>This statement used with ExecuteScalar() will truncate at 2033 characters:

    SELECT
        *
    FROM
        Segment
    ,   [Document]
    WHERE
        Segment.SegmentId = [Document].SegmentId
    FOR XML AUTO, ELEMENTS, ROOT('SegmentTreeSet')

Sol…</description>
<pubDate>Tue, 16 Jan 2007 23:16:13 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2005 t-SQL: Bulk Insert Operation</title>
<link>http://www.songhaysystem.com/kb/number/2076071778/subject/sql</link>
<description><strong>Article Excerpt: </strong>DECLARE @cmd VARCHAR(512)
DECLARE @lf CHAR(1)
SET @lf = CHAR(10) --Unix line break
SET @cmd='
BULK INSERT LogImport
FROM ''{0}''
WITH
(
    ROWTERMINATOR = '''+@lf+'''
)
</description>
<pubDate>Fri, 20 Oct 2006 11:00:35 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2000: CONVERT() Style Identifiers</title>
<link>http://www.songhaysystem.com/kb/number/2076071756/subject/sql</link>
<description><strong>Article Excerpt: </strong>0 or 100: mon dd yyyy hh:miAM (or PM)
101: mm/dd/yy
102: yy.mm.dd
103: dd/mm/yy
104: dd.mm.yy
105: dd-mm-yy
106: dd mon yy
107: Mon dd, yy
108: hh:mm:ss
9 or 109: mon dd yyyy hh:mi:ss:mmmAM (or PM)
110: mm-dd-yy
111: yy/mm/dd
112: yymmdd
13 or 113: dd mon…</description>
<pubDate>Wed, 12 Jul 2006 23:16:42 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: Date Format User-Defined Function; dbo.fDateFormat()</title>
<link>http://www.songhaysystem.com/kb/number/2076071728/subject/sql</link>
<description><strong>Article Excerpt: </strong>IF OBJECT_ID('fDateFormat') IS NOT NULL 
BEGIN 
    DROP FUNCTION fDateFormat
    IF OBJECT_ID('fDateFormat') IS NOT NULL
        PRINT '&amp;lt;&amp;lt;&amp;lt; FAILED DROPPING FUNCTION fDateFormat &amp;gt;&amp;gt;&amp;gt;'
    ELSE 
        PRINT '&amp;lt;&amp;lt;&amp;lt; DROPPED FUNCTION fDateFormat &amp;gt;&amp;gt;&amp;gt;'
END
;
/*
…</description>
<pubDate>Sat, 14 Jan 2006 17:47:32 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2000: UTC datetime values; GETUTCDATE()</title>
<link>http://www.songhaysystem.com/kb/number/2076071729/subject/sql</link>
<description><strong>Article Excerpt: </strong>From Eron Wright's Blog: &quot;You can convert local datetime values to UTC datetime values, and vice-versa, using the built-in GETUTCDATE() function:&quot;

    DECLARE @LocalDate DATETIME
    SET @LocalDate = GETDATE()

    -- convert local date to utc date
    D…</description>
<pubDate>Sat, 14 Jan 2006 17:52:53 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2000: Flippant Remarks about Mixed Mode; Security; Authentication
</title>
<link>http://www.songhaysystem.com/kb/number/2076071487/subject/sql</link>
<description><strong>Article Excerpt: </strong>The Security tab under the server-level Properties menu in the Enterprise Manager has options under Authentication:. I prefer to select the Windows only option as this effectively turns over the bulk of security issues over to Windows domain administrator…</description>
<pubDate>Fri, 16 Sep 2005 21:41:13 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>DTS ActiveX Script Task: Assigning SQL Statements to Execute SQL Tasks Based on Global Variables</title>
<link>http://www.songhaysystem.com/kb/number/2076071706/subject/sql</link>
<description><strong>Article Excerpt: </strong>'Based on Global Variables and SQL statements in DTS by Darren Green
'http://www.sqldts.com/Default.aspx?205,2
Option Explicit

Function Main()
    Dim objDtsPack,vSQL

    ' Get reference to the Exec SQL Task
    Set objDtsPack = DTSGlobalVariables.Paren…</description>
<pubDate>Thu, 15 Sep 2005 22:22:30 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>tSQL Code: Example of OPENROWSET with Trusted Connection; NTLM</title>
<link>http://www.songhaysystem.com/kb/number/2076071673/subject/sql</link>
<description><strong>Article Excerpt: </strong>SELECT
    p.*
FROM
    OPENROWSET
    (
        'SQLOLEDB'
    ,   'Trusted_Connection=yes;
         Integrated Security=SSPI;
         DataSource=MyServer;Initial_Catalog=pubs;'
    ,   '
         SELECT * FROM 
         pubs.dbo.authors
         ORDER …</description>
<pubDate>Fri, 06 May 2005 19:23:15 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2000: Flippant Remarks about Renaming Databases</title>
<link>http://www.songhaysystem.com/kb/number/2076071669/subject/sql</link>
<description><strong>Article Excerpt: </strong>Use the ALTER DATABASE t-SQL instead of the system stored procedure sp_renameDB. For SQL Server 2000, the ALTER DATABASE solution is an improvement over the system stored procedure (which can get into goofy 'exclusive locking errors'). One too many SQL Se…</description>
<pubDate>Thu, 28 Apr 2005 20:05:33 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: Adding/Refreshing Login and User Metadata; CreateUsers.sql; Troubleshooting Orphaned Users</title>
<link>http://www.songhaysystem.com/kb/number/2076071660/subject/sql</link>
<description><strong>Article Excerpt: </strong>/*

This script is inspired by two MS KB articles:

&quot;PRB: 'Troubleshooting Orphaned Users' Topic in Books Online is Incomplete&quot;

    http://support.microsoft.com/kb/274188

and

&quot;HOW TO: Resolve Permission Issues When You Move a Database Between Servers T…</description>
<pubDate>Sun, 27 Mar 2005 17:11:45 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2000 Data Transformation Services; Flippant Remarks about the DTS Data Driven Query Task; Updating Data with DTS</title>
<link>http://www.songhaysystem.com/kb/number/2076071622/subject/sql</link>
<description><strong>Article Excerpt: </strong>I am familiar with the Transform Data Task. I use this frequently because this task is related to importing and exporting data. The Data Driven Query Task became relevant when I found frustration and a few hours of misery trying to update data with the Tr…</description>
<pubDate>Tue, 23 Nov 2004 23:13:45 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>MySQL Adminstration: mysqldump Help Text;mysqldump  Ver 9.11 Distrib 4.0.21; Win95/Win98 (i32); Igor Romanenko, Monty, Jani &amp; Sinisa</title>
<link>http://www.songhaysystem.com/kb/number/2076071609/subject/sql</link>
<description><strong>Article Excerpt: </strong>mysqldump  Ver 9.11 Distrib 4.0.21, for Win95/Win98 (i32)
By Igor Romanenko, Monty, Jani &amp; Sinisa
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Dumping defi…</description>
<pubDate>Sun, 17 Oct 2004 03:10:30 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>DTS: Fixed-Role Permissions for Logins to Change Data in SQL Server 2000; Data Transformation Services; db_ddladmin</title>
<link>http://www.songhaysystem.com/kb/number/2076071605/subject/sql</link>
<description><strong>Article Excerpt: </strong>This is a proposed set of &quot;minimum&quot; fixed-role permissions required to run a DTS package to change data on the target database defined in the package. The login should be a member of the following fixed roles on the target database server:

    db_ddladmi…</description>
<pubDate>Tue, 31 Aug 2004 23:10:20 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Syntax: The LIKE Operator with Bracket Wildcard Operators ([]); Using Wildcard Characters as Literals</title>
<link>http://www.songhaysystem.com/kb/number/2076071575/subject/sql</link>
<description><strong>Article Excerpt: </strong>To search for text like '[foo]' and '[bar]' where the brackets are seen as literals we can use the LIKE operator in the WHERE predicate:

    ...
    WHERE [ColumName] LIKE '[[]%]'

This is covered in detail under &quot;Using Wildcard Characters as Literals&quot; i…</description>
<pubDate>Thu, 29 Apr 2004 19:05:03 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>DTS ActiveX Script Task: Formatting an Apache Log File; Visual Basic ActiveX Script; Data Transformation Services</title>
<link>http://www.songhaysystem.com/kb/number/2076071549/subject/sql</link>
<description><strong>Article Excerpt: </strong>'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************
Function Main()
    Dim objFileSys : Set objFileSys = CreateObject(&quot;Scripting.…</description>
<pubDate>Thu, 04 Dec 2003 19:51:27 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: Correlated Sub-Queries in the SELECT Projection List</title>
<link>http://www.songhaysystem.com/kb/number/2076071528/subject/sql</link>
<description><strong>Article Excerpt: </strong>Microsoft readily reminds us that &quot;correlated subqueries&quot; can be included in the WHERE clause:

    SELECT au_lname, au_fname
    FROM authors
    WHERE 100 IN
       (SELECT royaltyper
       FROM titleauthor
       WHERE titleauthor.au_ID = authors.au_i…</description>
<pubDate>Mon, 11 Aug 2003 23:44:17 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Flippant Remarks about Table Aliases and the Self Join</title>
<link>http://www.songhaysystem.com/kb/number/2076071484/subject/sql</link>
<description><strong>Article Excerpt: </strong>Up until shortly before the writing if this article, I considered the use of table aliases just a matter of style. Since I enjoy writing (for humans) I preferred using table names instead of something like:

    USE pubs
    SELECT
        p.pub_id
    , …</description>
<pubDate>Fri, 31 May 2002 17:54:39 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 2000: Flippant Remarks about Designing for Portability</title>
<link>http://www.songhaysystem.com/kb/number/2076071427/subject/sql</link>
<description><strong>Article Excerpt: </strong>Microsoft Access has the MDB file to represent its &quot;classic&quot; IISAM data stores in the OS file system; and we can't forget about its associated LDB file that appears when the MDB is opened and vanishes when closed. I see something similar in the SQL Server…</description>
<pubDate>Tue, 15 Jan 2002 08:26:20 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>MS SQL Server 7.x: When to Use Views; Normalized Data</title>
<link>http://www.songhaysystem.com/kb/number/2076071359/subject/sql</link>
<description><strong>Article Excerpt: </strong>Views are not just useful for security reasons (where only subsets of data is shown). Views also improve performance when displaying normalized data. For more details please see the following:

    http://www.sqlmag.com/Articles/Index.cfm?ArticleID=5917</description>
<pubDate>Sat, 05 Jan 2002 17:01:30 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>MS SQL Server 7.x: Tables sysxlogins and sysservers</title>
<link>http://www.songhaysystem.com/kb/number/2076071309/subject/sql</link>
<description><strong>Article Excerpt: </strong>The SQL 7 Tables sysxlogins and sysservers can be opened to remove users and/or servers that you do not want to appear in dialogs in the Enterprise Manager. By opening the SQL Server Properties &amp;gt; Server Settings dialog in the Enterprise Manager you can ma…</description>
<pubDate>Sat, 05 Jan 2002 17:02:30 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Using OPENROWSET to Join Server Data with File-based Data
</title>
<link>http://www.songhaysystem.com/kb/number/2076071399/subject/sql</link>
<description><strong>Article Excerpt: </strong>USE pubs
;

SELECT
    Customers.*
,   Orders.*
FROM
    Northwind.dbo.Customers AS Customers
,   OPENROWSET(
        -- OLE DB Provider Name:
        'Microsoft.Jet.OLEDB.4.0'

        -- OLE DB Provider Source, ID and Password or Connection String:
    …</description>
<pubDate>Sun, 27 May 2001 01:13:57 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Dynamic SQL in a Stored Procedure; sp_executesql
</title>
<link>http://www.songhaysystem.com/kb/number/2076071400/subject/sql</link>
<description><strong>Article Excerpt: </strong>DECLARE @vSQL nvarchar(4000)

SET @vSQL = 'SELECT * FROM authors'

EXECUTE sp_executesql @vSQL</description>
<pubDate>Sun, 27 May 2001 01:14:43 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: DELETEing Duplicates</title>
<link>http://www.songhaysystem.com/kb/number/2076071385/subject/sql</link>
<description><strong>Article Excerpt: </strong>-- This code is inspired by MS KB article Q139444
-- (&quot;INF: How to Remove Duplicate Rows From a Table&quot;).

SELECT
    [date],host,[file],kbID
INTO
    #uVals
FROM
    tblKLog
GROUP BY
    [date],host,[file],kbID
HAVING
    COUNT(*) &amp;gt; 1

DELETE
    tblKLog
…</description>
<pubDate>Sun, 08 Apr 2001 01:40:52 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL Server 7.x and VB 6.x Code: Manipulating Data Transformation Services (DTS) Programmatically</title>
<link>http://www.songhaysystem.com/kb/number/2076071353/subject/sql</link>
<description><strong>Article Excerpt: </strong>'This is a &quot;sketch&quot; of handling a DTS package programmatically.
'For more info' check out the following MSKB articles:
'
'&quot;Q221193 - INF: How To Install DTS Event Handlers In Visual Basic&quot;
'
'&quot;Q240221 - INF: How To Handle Errors in DTS Package and Step Ob…</description>
<pubDate>Sun, 08 Apr 2001 01:54:20 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: Searching for a Finite Set of Unknowns with a Single SELECT Statement; the ISNULL() Function</title>
<link>http://www.songhaysystem.com/kb/number/2076071336/subject/sql</link>
<description><strong>Article Excerpt: </strong>/*
Use this technique when enabling full-text search functionality is not possible. If full-text search functionality is possible consider a design featuring the CONTAINS Predicate.
*/

CREATE PROCEDURE ListSSKB
    (
        @subjectID varchar(32)  = NUL…</description>
<pubDate>Sat, 31 Mar 2001 17:08:21 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: Example of the use of a Cursor; Parsing WebCom Hit Log Files; NewHitLog</title>
<link>http://www.songhaysystem.com/kb/number/2076071380/subject/sql</link>
<description><strong>Article Excerpt: </strong>CREATE PROCEDURE NewHitLog
AS

-- Description: Inserts rows into tblLog from tblLogImport
-- Developer: rasx

SET NOCOUNT ON
DECLARE
    @type     varchar(10)
,   @date     datetime
,   @address  varchar(255)
,   @file     varchar(255)
,   @logEntry varch…</description>
<pubDate>Sun, 04 Mar 2001 18:07:23 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: Another Example of the use of a Cursor; Parsing WebCom Hit Log Files; GetHitsImport</title>
<link>http://www.songhaysystem.com/kb/number/2076071381/subject/sql</link>
<description><strong>Article Excerpt: </strong>CREATE PROCEDURE GetHitsImport
    (
        @errorCount int OUTPUT
    )
AS

-- Description: Transforms data in tblLogImport into data for tblLog.
-- Developer: rasx

DECLARE
    @logEntry     varchar(1000)
,   @type         varchar(8)
,   @date         …</description>
<pubDate>Sun, 04 Mar 2001 18:06:53 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Renaming a Table Containing Data; Saving/Restoring Data from a Dropped Table; SELECT INTO</title>
<link>http://www.songhaysystem.com/kb/number/917916325/subject/sql</link>
<description><strong>Article Excerpt: </strong>Sometimes is is better to DROP a table instead of using the ALTER TABLE or sp_rename commands. If the table has data in it, use the SELECT INTO syntax to create a temporary table. For example:

    SELECT *
    INTO tmpTable
    FROM MyTable

when the tab…</description>
<pubDate>Sun, 24 Dec 2000 22:57:04 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL Code: A Procedure Using CASE Structures to Format Times</title>
<link>http://www.songhaysystem.com/kb/number/2076071302/subject/sql</link>
<description><strong>Article Excerpt: </strong>CREATE Procedure ListGo2Events

AS

SET NOCOUNT ON

-- Collect data into temp' table.
SELECT
    tblVenueEvents.EventID
,    tblVenueEvents.ArtistSummary
,    tblVenueEvents.ArtistExtended
,    tblVenueEvents.VenueID
,    tblVenueEvents.DoorDate
,    tblV…</description>
<pubDate>Sun, 24 Dec 2000 22:50:05 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL: The Differences Beteween HAVING and WHERE</title>
<link>http://www.songhaysystem.com/kb/number/892587086/subject/sql</link>
<description><strong>Article Excerpt: </strong>When HAVING appears in a SQL statement, this implies that there is a GROUP BY clause in the statement. If WHERE is also in the statement, the WHERE clause creates the first subset. The HAVING clause makes a &quot;second pass&quot; after the GROUP BY clause and make…</description>
<pubDate>Sun, 24 Dec 2000 22:50:17 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL: The Difference between UNION and UNION ALL</title>
<link>http://www.songhaysystem.com/kb/number/923177003/subject/sql</link>
<description><strong>Article Excerpt: </strong>UNION ALL selects all records between two views including duplicates; whereas UNION takes the time to sort records in order to remove duplicates. To optimize the time a UNION query takes, using ALL may help.</description>
<pubDate>Sun, 24 Dec 2000 22:49:41 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL: SELECTing Duplicates</title>
<link>http://www.songhaysystem.com/kb/number/225/subject/sql</link>
<description><strong>Article Excerpt: </strong>Let's project Column1 in Table1 and look for duplicates. The SQL syntax for this is:

    SELECT Column1 FROM Table1
    GROUP BY Column1
    HAVING Count(*) &amp;gt; 1

NOTE: the argument of Count() relates to the projections of GROUP BY.</description>
<pubDate>Sun, 24 Dec 2000 22:52:36 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL: Domain Aggregate Record Sets Are Not Updatable</title>
<link>http://www.songhaysystem.com/kb/number/895694248/subject/sql</link>
<description><strong>Article Excerpt: </strong>SQL Statements containing references to views based on domain aggregate functions are by definition not updateable.</description>
<pubDate>Sun, 24 Dec 2000 22:48:52 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>SQL: AND and OR Operate on True, False and Null</title>
<link>http://www.songhaysystem.com/kb/number/904268905/subject/sql</link>
<description><strong>Article Excerpt: </strong>These equations are derived from the so-called &quot;Truth Tables&quot;:

    True AND True = True
    True AND False = False
    True AND Null = Null

    False AND True = False
    False AND False = False
    False AND Null = False

    Null AND True = Null
    N…</description>
<pubDate>Sun, 24 Dec 2000 22:47:33 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>PL/SQL: Oracle 7; Date Arithmetic with SYSDATE</title>
<link>http://www.songhaysystem.com/kb/number/2076071320/subject/sql</link>
<description><strong>Article Excerpt: </strong>SYSDATE stores dates in days by default. It follows that all arithmetic operations with SYSDATE as an operand must be units of days. For example, to subtract 30 minutes from the current time, convert 30 minutes into units of days:

    30 [minutes]/1440 […</description>
<pubDate>Sun, 24 Dec 2000 22:51:51 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>Denormalization; SQL 7.x OLAP and Data Cubes</title>
<link>http://www.songhaysystem.com/kb/number/2076071333/subject/sql</link>
<description><strong>Article Excerpt: </strong>The need to follow the rules of Normalization break down in the context of DBMS performance and analytical processing. For details on the subject of Denormailization please see &quot;BENEFITS OF DENORMALIZED RELATIONAL DATABASE TABLES&quot; at:

    http://www.siue…</description>
<pubDate>Sun, 24 Dec 2000 22:48:23 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>From SQL Server 7 to Oracle 7: Remarks</title>
<link>http://www.songhaysystem.com/kb/number/2076071315/subject/sql</link>
<description><strong>Article Excerpt: </strong>Fundamentals

Microsoft SQL Server 7 is by default case insensitive as is Oracle 7, however Oracle 7.x explicitly stores all characters in upper-case.


Procedural Languages

Microsoft SQL Server 7 uses t-SQL or Transaction SQL to create stored procedures…</description>
<pubDate>Sun, 05 Nov 2000 01:02:00 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>ODBC SQL: The Syntax for Stored Procedure Execution</title>
<link>http://www.songhaysystem.com/kb/number/-463206374/subject/sql</link>
<description><strong>Article Excerpt: </strong>{call get_cust_dates(1,19993)}</description>
<pubDate>Wed, 02 Feb 2000 08:26:05 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Implicit Descision Structures Using substring(), sign() and charindex(); the Sybase isnull() System Function</title>
<link>http://www.songhaysystem.com/kb/number/934617904/subject/sql</link>
<description><strong>Article Excerpt: </strong>Database management systems like those made by Sybase do not support what Microsoft calls the &quot;Immediate If&quot; or IIF() functions in their implementation of SQL. Sybase does have the System function isnull() which effectively the VBA equivalent of:

    IIF…</description>
<pubDate>Sun, 15 Aug 1999 16:56:33 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Notes on the Outer Join</title>
<link>http://www.songhaysystem.com/kb/number/-556144079/subject/sql</link>
<description><strong>Article Excerpt: </strong>Borrowing heavily from the writings of Microsoft, please consider TableA and TableB with ColumnA and ColumnB respectively. Here are the two outer joins in a WHERE clause:

    TableA.ColumnA *= TableB.ColumnB

This means, &quot;Show all values in ColumnA but o…</description>
<pubDate>Thu, 12 Aug 1999 03:15:35 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Values Stored in Sybase/Microsoft Sysobjects Table</title>
<link>http://www.songhaysystem.com/kb/number/-621649463/subject/sql</link>
<description><strong>Article Excerpt: </strong>When browsing a Microsoft or Sybase SQL Server database, looking for system objects, use a query of form:

    SELECT name FROM sysobjects
    WHERE type = '&amp;lt;type&amp;gt;'

where &amp;lt;type&amp;gt; can be one of the following:

C - CHECK constraint 
D - Default or DEFAULT c…</description>
<pubDate>Tue, 09 Feb 1999 19:37:47 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: Measuring How Long a Query Takes</title>
<link>http://www.songhaysystem.com/kb/number/897948023/subject/sql</link>
<description><strong>Article Excerpt: </strong>By wrapping the query (or queries) to be tested in GETDATE() commands, you can estimate how long it takes for the tSQL to run. This form is

    SELECT GETDATE()
    -- Enter t-SQL to be tested here.
    SELECT GETDATE()
    GO</description>
<pubDate>Tue, 09 Feb 1999 19:35:15 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>T-SQL: DELETEing Rows Based on a Date Column; Use of DATEADD() And GETDATE()</title>
<link>http://www.songhaysystem.com/kb/number/890074141/subject/sql</link>
<description><strong>Article Excerpt: </strong>The following t-SQL deletes rows from a table named &quot;output_wal_ytm_detail&quot; where its column calc_date contains values over 10 days old:

    DELETE output_wal_ytm_detail
    WHERE calc_date &amp;lt; DATEADD( dd , -10 , GETDATE() )</description>
<pubDate>Tue, 09 Feb 1999 19:35:25 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>MS-SQL and T-SQL: Deleting Records Not in Another Table</title>
<link>http://www.songhaysystem.com/kb/number/147/subject/sql</link>
<description><strong>Article Excerpt: </strong>Suppose Table1 has records that are not in Table2. Also suppose that Table1 and Table2 have a column named &quot;IndexColumn&quot; which can be used for an outer join.

We want an outer join because we want to delete the records in Table1 that are not in Table2. In…</description>
<pubDate>Tue, 09 Feb 1999 19:36:41 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>Notes on SQL Server Standards and Guidelines</title>
<link>http://www.songhaysystem.com/kb/number/917563494/subject/sql</link>
<description><strong>Article Excerpt: </strong>These are reflections on the SQL standards and guidelines derived through my direct experience in the field. Currently I am not aware of any popular &quot;manuals of style&quot; published by independent third parties.


* After the DBA Gives You a Database

Once a …</description>
<pubDate>Tue, 02 Feb 1999 18:30:21 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>
<item>
<title>MS SQL Server 6.5: ISQL/w Can Connect to Sybase Databases</title>
<link>http://www.songhaysystem.com/kb/number/915667772/subject/sql</link>
<description><strong>Article Excerpt: </strong>ISQL/w can read both Microsoft and Sybase SQL server databases. The SQL Client Configuration Utility can be used to add a Sybase SQL Server to the list of available servers. Under the Advanced &amp;gt; Client Configuration, type in a Sybase server name and selec…</description>
<pubDate>Thu, 07 Jan 1999 00:16:22 GMT</pubDate>
<dc:creator>Bryan Wilhite</dc:creator>
</item>

    </channel>
</rss>