一个正常,另一个说数据库只读!奇怪!

htzq 2003-09-12 03:49:15


这个可以插入记录
http://www.zjgda.gov.cn/jjf/hrtoy/tx/showgb.asp
而这个不可以插入记录

http://www.zjgda.gov.cn/project/hrtoy/tx/showgb.asp

但第二个是我把第一个原封不动的拷过来的啊,

出错的提示!

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。

/project/hrtoy/tx/savedata.asp,行36
...全文
57 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yycxy 2003-09-13
  • 打赏
  • 举报
回复
肯定是权限的问题,把EVERYONE加入肯定可以!!!
htzq 2003-09-13
  • 打赏
  • 举报
回复
这个问题我知道,肯定是权限的问题,把EVERYONE加入肯定可以,试一下
htzq 2003-09-12
  • 打赏
  • 举报
回复
各位,我的这两个留言板有自己独立的access数据库,一模一样!


db.asp//连接数据库
<%
set conn=server.createobject("adodb.connection")
dbpath=server.mappath(path & "db/gbgb.mdb")
conn.open "Driver={microsoft access driver (*.mdb)};dbq=" & dbpath
%>

插入记录的asp文件
<!-- #include file="include/db.asp" -->
<%
id=request("id")
if id="" then
id=0
end if
name=request("name")
email=request("email")
from=request("from")

homepage=request("homepage")
title=request("title")
content=request("content")
email=request("email")
telephone=request("telephone")
danwei=request("danwei")
fax=request("fax")
address=request("address")
if title="" or name="" then
response.write "请写上名字或主题"
response.end
end if
set rs=server.createobject("adodb.recordset")
if id>0 then
gbtable="replay"
else
gbtable="gb"
end if
rs.open gbtable,conn,1,3
rs.addnew
rs("name").value=name
rs("email").value=email
rs("homepage").value=homepage
rs("title").value=title
rs("content").value=content
rs("email").value=email
rs("telephone").value=telephone
rs("danwei").value=danwei
rs("fax").value=fax
rs("address").value=address

if id>0 then
rs("replayid").value=id
end if
rs.update
rs.close
if id>0 then
sql="update gb set replay=replay+1 where id=" & id
conn.execute(sql)
end if
conn.close
set rs=nothing
set conn=nothing
response.redirect "saveok.asp"
%>


lions911 2003-09-12
  • 打赏
  • 举报
回复
应该是NTFS文件夹权限的问题
lions911 2003-09-12
  • 打赏
  • 举报
回复
应该是NTFS文件夹权限的问题
pysjf 2003-09-12
  • 打赏
  • 举报
回复
楼主,把代码贴出来大家研究一下!
xiangtx 2003-09-12
  • 打赏
  • 举报
回复
权限问题在Access文件上,如果想在两个文件中都能写同一个数据库,那么只要在asp程序中的数据库连接指向原数据库即可。
yangsm 2003-09-12
  • 打赏
  • 举报
回复
我的也出现过类似的情况,改一下它的权限就可以了。
diya 2003-09-12
  • 打赏
  • 举报
回复
权限问题,改成everyone就可以。
damboo 2003-09-12
  • 打赏
  • 举报
回复
如果把文件拷贝到ntfs分区
经常出现这种情况
需要的目录的属性中查看“安全”选项卡
把其中everyone或者IUser的权限全部勾上才行
ACCESS数据库操作必须使用一个可更新的查询 解决办法 ACCESS数据库无法更新问题:  一般在Winxp与windows 2003 server下,文件目录的只读属性会影响网站程序写数据库操作,即使用户已经去掉其只读属性,但是之后只读又失效,导致许多网站不能正常运行。事实上,网站程序目录读写权限才是影响其运行的根本原因。所以只读属性能否去掉并不重要,只需要把相应目录赋予读写权限即可。 1、在通常情况下,Web应用程序只读属性并不影响Web系统运行。在需要写入、更新数据库时,Web程序操作数据库因权限不够会提示"操作必须使用一个可更新的查询。"这种情况可能会在NTFS分区环境下出现,FTA32一般分区不会出现。将Web应用程序放在FTA32分区下运行时,不会出现因权限等问题而导致系统不能正常运行的情况,但是其安全性不如NTFS好。因此,一般网站软件可在FTA32下测试运行,单位正式网站软件建议放置在NTFS下运行。 2、现以XP环境下,NTFS格式为例。进入网站根目录,工具—>文件夹选项—>查看,将“使用简单文件共享”前的勾选去掉。 3、网站根目录赋予Everyone完全控制、读写权限。 下面以一个例子更详细的介绍解决此类问题的方法和过程 出错举例:Microsoft JET Database Engine (0x80004005)操作必须使用一个可更新的查询。/LeadBBS/inc/Board_Popfun.asp, 第 569 行需要权限:服务器管理员,否则联系服务器管理员进行示例操作系统:Windows 2000 Server1.找到你存放网站的文件夹,比如你的网站存放在D:\WEB\News.com右键点击文件夹,选择属性点击小图查看大图 2.出来新窗口,选择安全,点击按钮添加(D)点击小图查看大图 3.在出来的窗口中,找到IUSER_开头的名称,并双击,点击确定.点击小图查看大图 4.确定后的结果是这个窗口,在安全的名称列表中多了刚才选择的用户点击下面的按钮 高级(V)...点击小图查看大图 5.在弹出的新小窗口中,继续点击 查看/编辑(V) 按钮点击小图查看大图 6.出来新窗口..点击小图查看大图 7.重新选择权限分配.点击小图查看大图 8.点击应用完成设置 这个错误提示   因为程序是在别的机器上完成的,应该是没有错误的,根据提示,好像是“IUSR_机器名”这个用户的权限不够,“IUSR_机器名”这个用户是用来匿名访问网站的用户,一般来在本机调试的时候,访问自己硬盘的时候用的就是这个用户。 那就重新设定一下目录的权限就可以了,不过,当我打开asp程序所在目录的属性时,却没找到安全这个选项卡,???奇怪了!哦,我用的是winxp系统,找找看吧!肯定被藏起来了~~ “我的电脑”-“工具”-“文件夹选项”-“查看”-“使用简单文件共享(推荐)”。 靠,居然还推荐,好吧 去掉“使用简单文件共享(推荐)”前面的对号,确定,在看看~~嘿嘿 安全 这个出来了吧~ 看看有没有Internet来宾帐户(名字格式为“IUSR_机器名”),果然没有!添加!!!???xp里面还需要自己手动添加,我记得原来win2k里面选一下就可以了,好吧,自己动手,丰衣足食!然后将写入的权限赋予这个用户,确定! 打开浏览器,嘿嘿,问题搞定!
一、Docker解决了什么问题?         一款产品从开发到上线,从操作系统,到环境运行,在到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司不得不面对的问题,特别是各版本的迭代之后,不同版本环境的兼容,对运维人员都是考验。         Docker对此给出了一个标准化的解决方案。         环境配置如此麻烦,换一台机器,就要重来一次,费力费时。那么软件可以不可以带环境安装?也就是,安装的时候,把原始环境一模一样地复制过来。开发人员利用Docker可以消除协作编码时“在我的机器上可以正常工作”的问题。           传统上认为,软件编码开发/测试结束后,所产出的成果就是程序或是能够编译执行的二进制字节码等。而为了让这些程序可以顺利执行,开发团队也得准备完善的部署文件,让运维团队得以部署应用程序,开发需要清楚的告诉运维部署团队,用的全部配置文件+所有软件环境。不过,即便如此,仍然经常发生部署失败的情况。Docker镜像的设计,使得Docker得以打破过去【程序即应用】的观念。透过镜像(image)将作业系统核心除外,运作应用程序所需要的系统环境,由上而下打包,达到应用程序快平台的无法接轨运作。 二、Docker是个啥         Docker是基于Go语言实现的云开源项目。         Docker的主要目标是“Build,Ship and Run Any APP,Anywhere”,也就是通过对应组件的封装、分发、部署、运行等生命周期的管理,是用户的App及其运行环境能够做到“一次封装,到处运行”。         Linux容器技术的出现就解决了这样一个问题,而Docker就是在它的基础上发展过来的。将应用运行的Docker容器上面,而Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机器上就可以一键部署好,大大简化了操作         Docker解决了运行环境和配置软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。 三、虚拟机与Docker         虚拟机就是带环境安装的一种解决方案。         它可以在一种操作系统里面运行另一种操作系统,比如在windows系统里运行Linux系统。应用程序对此毫无感知,因为虚拟机看上去就跟真实的系统一样,能够使应用程序,操作系统和硬件三者之间逻辑不变   虚拟机的缺点: 资源占用多 冗余步骤多启动慢 由于虚拟机存在这些缺点,Linux发展出了另一种虚拟化技术:Linux容器(LinuxContainers,缩写为LXC)。         Linux容器不是模拟一个完整的操作系统,而是对进程进程进行隔离。有了容器就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆包一整套操作系统,只需要软件工程所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一的工作。   比较了Docker和传统虚拟机方式的不同之处: 传统虚拟机技术是虚拟机出一套硬件后,在其上运行一个完整操作系统,在该系统上在运行所需应用进程; 而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。每个容器之间相互隔离,每个容器有自己的文件系统,容器之间进程不会互相影响,能区分计算字资源。   四、开发/运维(DevOps) 更快速的应用交付和部署 更便捷的升级和扩缩容 更简单的系统运维 更高效的计算资源利用   五、Docker安装 Docker支持一下的CentOS版本: CentOS 7(64-bit) CentOS 6.5(64-bit)或更高版本   目前,CentOS仅发行版中的内核支持Docker。 Docker运行在CentOS7上,系统内核版本为3.10以上 Docker运行在CentOS6.5或更高版本,系统内核版本为2.6.32-431或跟高的版本 使用uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)   六、Docker的基本组成   Docker镜像(image)就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。 Docker容器(Container)独立运行的一个或一组应用。容器就是镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个建议的Linux环境和运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上层那一层是可读可写的。 Docker仓库(Repository)是集中存放镜像文件的场所。仓库和仓库注册服务器是有区别的。仓库注册服务器上往往存放着很多个仓库,每一个仓库又包含了多个镜像,每个镜像有不同的的标签(tag)。仓库分为公开仓库和私有仓库两种形式。最大的公开仓库是DockerHub         Docker本身是一个容器运行载体或称之为管理引擎。我们把应用程序或配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就似乎image镜像文件。只有通过这个镜像文件才能生成Docker容器。image文件可以看作是容器的模板。Docker根据image文件生成容器的实例。可以生成多个同时运行的容器实例。   七、安装Docker(CentOS7) 参考官网:https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/ 1.卸载旧版本(没有装过可以直接跳过) sudo yum remove docker     docker-common     docker-selinux     docker-engine2. 安装所需的软件包 sudo yum install -y yum-utils device-mapper-persistent-data lvm23.设置stable镜像仓库 sudo yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo4.启用edge和testing镜像仓库(可选) sudo yum-config-manager --enable docker-ce-edgesudo yum-config-manager --enable docker-ce-testing5.更新yml的软件索引 sudo yum makecache fast6.安装最新的DockerCE sudo yum install docker-ce7.启动Docker sudo systemctl start docker8.采用阿里云镜像加速(可选) 访问https://dev.aliyun.com/search.html 注册阿里云账号,并登陆 点击进入管理中心,找到镜像加速区 根据阿里云提示修改Docker配置 9.测试安装是否成功,运行HelloWord镜像 sudo docker run hello-world  运行成功! 10.Docker运行步骤    

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧