首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
tellmenow (22)
cutemouse (22)
softj (78)
iiprogram (69)
qdzx2008 (50)
goodboy1881 (14)
wangchinaking (58)
fancyhf (1)
harrymeng (41)
yjz0065 (113)
CSDN - 文档中心 - Visual C++ 阅读:3622   评论: 2    参与评论
标题   使用VC6进行ADO编程,使用SQL SERVER 2000+WINDOWS SERVER 2003+VC6(第四部分)      选择自 shangyi 的 Blog
关键字   使用VC6进行ADO编程,使用SQL SERVER 2000+WINDOWS SERVER 2003+VC6(第四部分)
出处  

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


相关文章
对该文的评论
CSDN 网友 ( 2005-01-08)
thanks , go on and on!
CSDN 网友 ( 2004-12-23)
此程序仍包含纯C代码,希望用C++完整改编!
虽然没有附图,但不失为范例文章!“复活节彩蛋”够酷!