使用VC6进行ADO编程,使用SQL SERVER 2000+WINDOWS SERVER 2003+VC6(第四部分)

类别:VC语言 点击:0 评论:0 推荐:

目的是将SUN等服务器产生的日志文件--文本格式,写入到SQL SERVER数据库,实现功能为:
1.修改源日志格式为以逗号分割字段,写入成一个新的日志文件。
2.程序读出新日志文件,写入到数据库(分别利用RecordSet和存储过程实现)。

由于是初学VC,不当之处请高人指正,万分感谢!

第四部分

请创建TEST数据库在SQL SERVER 2000 中,并执行以下SQL 语句,创建表和存储过程:

CREATE TABLE [dbo].[T2] (
 [datetime] [datetime] NOT NULL ,
 [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [name2] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [ip] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [explain] [varchar] (300) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[T1] (
 [datetime] [datetime] NOT NULL ,
 [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [name2] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [ip] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [datetime2] [datetime] NULL ,
 [name3] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [nameid] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [explain] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO


/****** Object:  Stored Procedure dbo.insert_T2_1    Script Date: 2004-11-25 09:41:13 ******/
CREATE PROCEDURE [insert_T2_1]
 (@datetime_1  [datetime],
  @name_2  [varchar](50),
  @name2_3  [varchar](50),
  @ip_4  [varchar](50),
  @explain_5  [varchar](300))

AS INSERT INTO [test].[dbo].[T2]
  ( [datetime],
  [name],
  [name2],
  [ip],
  [explain])
 
VALUES
 ( @datetime_1,
  @name_2,
  @name2_3,
  @ip_4,
  @explain_5)

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO


/****** Object:  Stored Procedure dbo.insert_T1_1    Script Date: 2004-11-25 09:41:13 ******/
CREATE PROCEDURE [insert_T1_1]
 (@datetime_1  [datetime],
  @name_2  [varchar](50),
  @name2_3  [varchar](50),
  @ip_4  [varchar](50),
  @datetime2_5  [datetime],
  @name3_6  [varchar](50),
  @nameid_7  [varchar](50),
  @explain_8  [varchar](100))

AS INSERT INTO [test].[dbo].[T1]
  ( [datetime],
  [name],
  [name2],
  [ip],
  [datetime2],
  [name3],
  [nameid],
  [explain])
 
VALUES
 ( @datetime_1,
  @name_2,
  @name2_3,
  @ip_4,
  @datetime2_5,
  @name3_6,
  @nameid_7,
  @explain_8)

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

小结:测试真正日志2594行,
1、用VB6+C写的程序,包含日志格式转换及写入中转日志文件,并从中转文件中读出并写入到数据库,总共用时间小于55秒。
2、用VC6写的程序,包含日志格式转换及写入中转日志文件,并从中转文件中读出并写入到数据库,总共用时间小于20秒,可见VC6的效率到目前为止是最高的,JAVA的程序肯定没有VC6高,因为JAVA是解释执行!不信吗?!你自己编一个JAVA程序事实现此功能,试试就知道了!

到此全文完。

YOU ARE DISMISSED!

本文地址:http://com.8s8s.com/it/it384.htm