问题描述:
我用asp+sqlserver2000作了一个网站,有ASP空间和sqlserver服务器的地址用户名密码。请问怎么能把本地的数据库上传到sqlserver服务器上。
解析:
在你的网站上做个页面,把你的本地的数据库的数据提取,然后再上传到sqlserver服务器上
1、先通过SQL语句,在对方服务器上创建一临时表,下面是创建临时表的过程:
procedure Create_temptable
begin
try
query1.Close
query1.SQL.Clear
query1.SQL.Add('if exists (select * from dbo.sysobjects where id = object_id(N''[dbo].[temptable]'') and OBJECTPROPERTY(id, N''IsUserTable'') = 1)')
query1.SQL.Add('drop table [dbo].[temptable]')
query1.SQL.Add('CREATE TABLE [dbo].[temptable] (')
query1.SQL.Add('[filename] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,')
query1.SQL.Add('[ny] [image] NULL')
query1.SQL.Add(') ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]')
query1.ExecSQL
except
on e:exception do
raise exception.Create(pchar('执行失败!下面是错误信息:'+#13+e.Message+#13 ))
end
end
在创建表时,我创建了两个字段,filename字段存储文件的文件名,ny字段存储文件的二进制数据。
2、往临时表内插入文件
procedure insert_file(filename:string)
var
openfile:tfilestream
begin
try
openfile:=tfilestream.Create(filename,FmOpenRead)//创建文件流
query1.Close
query1.SQL.Clear
query1.sql.Add('insert into temptable (filename,ny) values(:x,:y)')
query1.Parameters.ParamByName('x').Value:=ExtractFileName(filename)
query1.Parameters.ParamByName('y').LoadFromStream(openfile,ftBlob)
query1.ExecSQL
finally
freeandnil(openfile)
end
end
3、插入文件之后,就应该让服务器,自动去读取临时表内的内容,并把表内的二进制数据转储为文件,
这样就达到了将文件上传到服务器的目的。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)