FIX: Visual Basic raises a syntax error when you try to compile a file that was created when you saved a DTS package (823455)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions) SP3

SHILOH_BUGS:469771

SYMPTOMS

When you try to compile a Microsoft Visual Basic file that was created when you saved a Data Transformation Services (DTS) package, the Visual Basic compiler raises a syntax error. The error is detected in a line where a literal is assigned to a textual property of a DTS object.

CAUSE

If the literal that is assigned to a textual property is larger than 263 characters, and there are no line breaks in the middle of the string, an error in the chunking/concatenation routine introduces syntax errors in the Visual Basic code that is generated.

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 How to obtain the latest SQL Server 2000 service pack

Hotfix information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   31-May-2003  09:45  2000.80.818.0      78,400  Console.exe      
   24-Jun-2003  16:01  2000.80.818.0      33,340  Dbmslpcn.dll     
   24-Apr-2003  17:12                    786,432  Distmdl.ldf
   24-Apr-2003  17:12                  2,359,296  Distmdl.mdf
   29-Jan-2003  16:55                        180  Drop_repl_hotfix.sql
   23-Jun-2003  13:40  2000.80.837.0   1,557,052  Dtsui.dll        
   23-Jun-2003  13:40  2000.80.837.0     639,552  Dtswiz.dll       
   23-Apr-2003  17:51                    747,927  Instdist.sql
   02-May-2003  16:56                      1,581  Inst_repl_hotfix.sql
   07-Feb-2003  21:40  2000.80.765.0      90,692  Msgprox.dll      
   31-Mar-2003  17:07                      1,873  Odsole.sql
   04-Apr-2003  16:46  2000.80.800.0      62,024  Odsole70.dll     
   07-May-2003  11:41  2000.80.819.0      25,144  Opends60.dll     
   02-Apr-2003  12:48  2000.80.796.0      57,904  Osql.exe         
   02-Apr-2003  14:15  2000.80.797.0     279,104  Pfutil80.dll     
   22-May-2003  13:57                     19,195  Qfe469571.sql
   12-Jun-2003  07:37                  1,083,989  Replmerg.sql
   04-Apr-2003  12:53  2000.80.798.0     221,768  Replprov.dll     
   07-Feb-2003  21:40  2000.80.765.0     307,784  Replrec.dll      
   04-May-2003  15:05                  1,085,874  Replsys.sql
   31-May-2003  16:01  2000.80.818.0     492,096  Semobj.dll       
   31-May-2003  09:27  2000.80.818.0     172,032  Semobj.rll
   28-May-2003  15:29                    115,944  Sp3_serv_uni.sql
   31-May-2003  16:01  2000.80.818.0   4,215,360  Sqldmo.dll       
   07-Apr-2003  08:44                     25,172  Sqldumper.exe    
   19-Mar-2003  09:20  2000.80.789.0      28,672  Sqlevn70.rll
   01-Jul-2003  15:18  2000.80.834.0     180,736  Sqlmap70.dll     
   07-Feb-2003  21:40  2000.80.765.0      57,920  Sqlrepss.dll     
   23-Jun-2003  13:40  2000.80.837.0   7,553,105  Sqlservr.exe     
   07-Feb-2003  21:40  2000.80.765.0      45,644  Sqlvdi.dll       
   24-Jun-2003  16:01  2000.80.818.0      33,340  Ssmslpcn.dll     
   31-May-2003  16:01  2000.80.818.0      82,492  Ssnetlib.dll     
   31-May-2003  16:01  2000.80.818.0      25,148  Ssnmpn70.dll     
   31-May-2003  16:01  2000.80.818.0     158,240  Svrnetcn.dll     
   31-May-2003  09:59  2000.80.818.0      76,416  Svrnetcn.exe     
   30-Apr-2003  14:52  2000.80.816.0      45,132  Ums.dll          
   01-Jul-2003  15:19  2000.80.834.0      98,816  Xpweb70.dll      

				
Note Because of file dependencies, the most recent hotfix or feature that contains these files may also contain additional files.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.

MORE INFORMATION

Steps to reproduce the problem

To reproduce this problem, follow these steps:
  1. Open SQL Server Enterprise Manager.
  2. Connect to a server, and then expand its tree.
  3. Expand Data Transformation Services.
  4. Right-click Local Packages, and then click New Package.
  5. In the DTS Package Designer window, on the Connection menu, click Microsoft OLE DB Provider for SQL Server.
  6. In the Connection Properties dialog box, set the connection properties to appropriate values, and then click OK.
  7. On the Task menu, click Execute SQL Task.
  8. In the SQL statement box, enter the following statement, and then click OK:
    CREATE TABLE [dbo].[MyFirstTestTable] ([FirstColumn] [int] NOT NULL, [SecondColumnOne] [int] NOT NULL, [ThirdColumn] [int] NOT NULL, [FourthColumn] [int] NOT NULL, [FifthColumn] [int] NOT NULL, [SixthColumn] [int] NOT NULL, [SeventhColumn] [int] NOT NULL) ON [PRIMARY]
    Note Make sure that you remove all line breaks from the previous statement.
  9. On the Package menu, click Save As.
  10. In the Save DTS Package dialog box, in the Location box, click Visual Basic File.
  11. Select a location, enter an appropriate file name in the File name box, and then click OK.
  12. In Visual Basic or in another text editor, open the generated .bas file.

    The following lines are located several lines before the end of the file:
    	oCustomTask1.SQLStatement = "CREATE TABLE [dbo].[MyFirstTestTable] ([FirstColumn] [int] NOT NULL, [SecondColumnOne] [int] NOT NULL, [ThirdColumn] [int] NOT NULL, [FourthColumn] [int] NOT NULL, [FifthColumn] [int] NOT NULL, [SixthColumn] [int] NOT NULL, [SeventhColumn] [int] NOT NULL) ON [PRIM"
    	oCustomTask1.SQLStatement = "CREATE TABLE [dbo].[MyFirstTestTable] ([FirstColumn] [int] NOT NULL, [SecondColumnOne] [int] NOT NULL, [ThirdColumn] [int] NOT NULL, [FourthColumn] [int] NOT NULL, [FifthColumn] [int] NOT NULL, [SixthColumn] [int] NOT NULL, [SeventhColumn] [int] NOT NULL) ON [PRIM"oCustomTask1.SQLStatement = oCustomTask1.SQLStatement & "ARY]"
    
    The second line introduces a syntax error for the Visual Basic compiler.

Modification Type:MinorLast Reviewed:10/25/2005
Keywords:kbHotfixServer kbQFE kbQFE kbfix kbbug kbSQLServ2000preSP4fix KB823455 kbAudDeveloper