目的是将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!