在网上开源网站很多,相信很多站长都采用建站!网站开源解决了很多站长建站的难题,“只要会打字就能建站”相信现在开源网站都能做到这一点!但是开源网站一般采用的都是ACC数据库,初始使用也许没什么问题,但往后想数据信息量庞大的话,很多站长会感觉到ACC数据库的不足。
如何解决呢?当然有钱的、网站收益不错的可以购买商业版,如果你是购买商业版的用户,您可以跳过本教程,如果你想学习如何解决ACC数据库的问题那么请继续往下看吧!对于这个问题网上也许也有很多相关ACC转SQL的教程,但是对于一些新手来说,也许根本看不懂!在这里本人整理了一下,以一个事实案例为标准!简单向大家介绍ACC如何转换MSSQL,废话不多说我们开始吧!
首先我们新建一个ACC数据库,打开设计表新建一些字段: ID、text、date、user、panduan、userid(好了就先这几个吧,太多我怕读者们会看迷糊^_^),其中ID为自动编号、text为文本我们设置为字段长度255、date为时间日期/时间、默认Now(),user为备注、必填,panduan为数字、我们选者格式为是/否|默认0 ,userid为数字、默认0 ,那么好了我们保存起来吧!命名该表为aa,我们双击aa表打开随意网里面字段添加一些数据!注(自动编号、默认的字段是自动获取的,我们不需要编辑,其余字段按照初始我们定义的属性写入相应的数据-随意写就好^_^)
好了在确定aa表没有问题后,保存我们命名为index.mdb!ACC部分我们已经完成了,接下来我们需要编写一些代码了(什么你不懂代码?没关系,先看完整后你很了解其中的思路!)
Create Database [index]
go
use [index]
go
--[aa] (表示aa表)
创建表CREATE TABLE [dbo].[aa] (
[ID] integer IDENTITY (1,1) not null,
[text] varchar(255) null ,
[date] datetime Default (getdate()) null,
[user] text null ,
[panduan] bit Default (0) not null ,
[userid] integer Default (0) null
) ON [Primary]
go
在这里你会看到后面字段有null和not null,这个按照意思是空和不能为空的意思 !下面我用这种方式来解释代码:
自动编号:integer IDENTITY (1,1) not null,
文本类型字段大小为255:varchar(255) null,
时间日期类型默认now():datetime Default (getdate())not null,
备注类型:text null,
数字类型格式为是/否 默认0: bit Default (0) not null
数字默认0:integer Default (0) null
ACC是用now()表示当前时间,SQL不一样必须改用getdate(),大家只要记住就够用了,有人问了你都有默认值那要是没默认呢?问的好没默认的写法是这样的:
如数字类型:我们就不需要采用Default (0)了 我们直接integer null
如时间类型不默认:datetime null
这些是基本的只要记住各个类型的写法就好了!
完成上面的 我们打开SQL企业管理器找到数据库,新建一个数据库命名为index ,然后打开SQL查询分析器 把代码粘贴进去 ,执行!如果没有显示出错信息,那么恭喜你 SQL的aa表创建成功!你可以回去SQL企业管理器打开index数据库自己看看!
接下来是激动人心的时刻了,数据的转换!我们从ACC数据把数据写入到SQL:写法如下
INSERT INTO [dbo].[aa] (ID,text,date,user,panduan,userid)
SELECT ID,text,date,user,panduan,userid
FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source="这里是ACC数据库保存在您电脑硬盘上的路径"')...[aa]
go
大家注意到了吗?不懂代码的不要管其他的意思,你日后制作只需要按照里面的字段ID,text,date,user,panduan,userid修改就可以了!以上代码的意思是获取ACC数据库中aa表的数据写入到SQL对应的字段
通过以上的教程,相信你已经了解了基本的知识了,在以后的日子里我会为大家写上如何约束表属性!希望大家能多多学习!
本文原创:转载须注明出处! 中国站长交流站http://www.winkeage.cn