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

王朝vc·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有