<%set conn1= server.CreateObject("adodb.connection")
conn1.open="Provider=OraOLEDB.Oracle.1;Persist Security Info=True;Password=fzepolice;User ID=fzepolice;Data Source=106db;"
response.buffer=true
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13) & chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)
Set OraSession=CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase=OraSession.DbOpenDatabase("106DB","fzepolice/fzepolice",0)
Set rec=OraDatabase.CreateDynaset("select * from EPPHOTO order by OID desc",0)
Set rs=OraDatabase.CreateDynaset("select EPPHOTO_S.NEXTVAL as OID FROM DUAL",0)
if not rs.eof then
OID=rs("OID")
end if
imgname=cdbl(OID)&".jpg"
sql="INSERT INTO EPPHOTO(OID,NAME,PHOTO,IMPORTDATE) VALUES("&OID&",'"&imgname&"',EMPTY_BLOB(),TO_DATE('"&now()&"','yyyy-mm-dd hh24:mi:ss'))"
conn1.execute sql
Set OraSession=CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase=OraSession.DbOpenDatabase("106DB","fzepolice/fzepolice",0)
Set rec2=OraDatabase.CreateDynaset("select * from EPPHOTO where OID="&OID&"",0)
if not rec2.eof then
rec2("PHOTO").appendchunk mydata
rec2.update
end if
rec2.close
set rec2=nothing
%>
<script language="javascript">
alert('图片上传完成!')
history.back();
</script>
能传入数据,但是图片不显示?请高人指教下?
conn1.open="Provider=OraOLEDB.Oracle.1;Persist Security Info=True;Password=fzepolice;User ID=fzepolice;Data Source=106db;"
response.buffer=true
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13) & chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)
Set OraSession=CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase=OraSession.DbOpenDatabase("106DB","fzepolice/fzepolice",0)
Set rec=OraDatabase.CreateDynaset("select * from EPPHOTO order by OID desc",0)
Set rs=OraDatabase.CreateDynaset("select EPPHOTO_S.NEXTVAL as OID FROM DUAL",0)
if not rs.eof then
OID=rs("OID")
end if
imgname=cdbl(OID)&".jpg"
sql="INSERT INTO EPPHOTO(OID,NAME,PHOTO,IMPORTDATE) VALUES("&OID&",'"&imgname&"',EMPTY_BLOB(),TO_DATE('"&now()&"','yyyy-mm-dd hh24:mi:ss'))"
conn1.execute sql
Set OraSession=CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase=OraSession.DbOpenDatabase("106DB","fzepolice/fzepolice",0)
Set rec2=OraDatabase.CreateDynaset("select * from EPPHOTO where OID="&OID&"",0)
if not rec2.eof then
rec2("PHOTO").appendchunk mydata
rec2.update
end if
rec2.close
set rec2=nothing
%>
<script language="javascript">
alert('图片上传完成!')
history.back();
</script>
能传入数据,但是图片不显示?请高人指教下?
解决方案 »
- 新手提问:Oracle有没有更易用的管理工具
- oracle关于字符串的截取。
- PL/SQL中用select ...for update 会提示查询数据无法更新
- pl/sql
- oracle查询出重复数据显示为空算出小计和总计的oracle语句
- 不装Oracle客户端怎么运行PB编译的执行文件
- 求助:Oracle9 on Linux9 install,这样的错误是为什么,该设置那里?
- 如何查询某临时表是否存在?
- 小弟刚学oracle遇到了sys和system密码的问题及控制文件的问题,大家帮忙了,多谢!——〉请进:)
- 如何用oracle来做web应用的数据仓库的分析决策系统或用其他工具的可行性?
- 续上次提出的菜问题后,再提一个菜问题,关于full join的
- 如何在oracle中插入&符号
根据参考N多的技术文档后,我写了如下的代码实现ORACLE中图片上传的功能,希望很抛砖引玉得到更好的解决问题的办法!也请大家多多支持!
要求要有ADO2.5以上的版本的支持。set conn = server.CreateObject("adodb.connection")
conn.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=myDB;User Id=user;Password=******"
conn.Open
'response.Write "connection is ok"'可以测试一下有没有连接成功
'response.Endset rs = server.CreateObject("adodb.recordset")
sql = "SELECT EPPHOTO_S.NEXTVAL AS OID FROM DUAL" '使用序列得到一个新记录的OID
rs.Open sql, conn '执行SQL语句
'response.Write sql
dim newOID
newOID = 0
if NOT rs.EOF then
newOID = rs("OID")
end if
if clng(newOID) > 0 then filename = newOID&".jpg"
sql = "INSERT INTO EPPHOTO(OID, NAME, PHOTO, IMPORTDATE)
VALUES "&newOID&", '"&filename&"',EMPTY_BLOB(),SYSDATE)"
'response.Write sql '测试生成的SQL语句是否正确
conn.Execute sql, NULL, adCmdText DIM streamObj
set streamObj = server.CreateObject("adodb.Stream")
streamObj.Type = 1
streamObj.Mode = 3
streamObj.Open
streamObj.LoadFromFile("C:\Documents and Settings\Administrator\My Documents\My Pictures\mv1.jpg")
DIM streamData
DIM streamLen
streamData = streamObj.Read
streamLen = streamObj.Size
streamObj.Close
set streamObj = nothing
'再次从数据库中把这条记录找出来,UPDATE一下对应的BLOB的值
sql = "SELECT PHOTO FROM EPPHOTO WHERE OID = "&newOID
set agrs = server.CreateObject("adodb.recordset")
agrs.Open sql, conn, 3, 2
if not agrs.EOF then
agrs.Update "PHOTO", streamData
end if
agrs.Close
end if 测试可以上传图片到ORACLE的BLOB字段
下载部份略!