数据库引擎无法打开文件或向其写入数据。它已经被其他用户以独占方式打开,或者您没有查看和写入其数据的

数据库引擎无法打开文件或向其写入数据。它已经被其他用户以独占方式打开,或者您没有查看和写入其数据的,第1张

20小弟遇到难题了,几天都没解决,烦请各位大神帮忙了!服务器上的sql2008 从ip地址为1921680100的pc机取数据,该数据是存在access2003的一张表里的,sql2008上写了存储过程,并建了个作业定时取数。本来都没问题,能取到数据,可前些天pc机坏了,维修之后数据的存放路径变了(本来放在D盘,现在放到了E盘),于是我将存储过程中的路径也做了相应调整。然后执行作业却总是失败,提示:"Microsoft Access 。"这个文件已经共享,权限为everyone且完全可控,并且除了服务器的SQL会访问这个access文件,没有其他软件在使用,应该不存在“被其他用户以独占方式打开”的情况,而且在查询分析器里执行“exec 存储过程”可以取到数据,在运行中输入“\\1921680100”也能打开这个access文件目录,就是执行作业报错。作业由始至终都没改过,以前能正常执行,按理现在也能正常执行,而且我重新建了一个作业,也是相同报错,不知大家有没有遇到这种情况,请各位大神帮小弟出错主意,万分感谢!补充: SQL完整的提示:已以用户 NT AUTHORITY\SYSTEM 的身份执行。 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "MicrosoftACEOLEDB120" 的数据源对象。 [SQLSTATE 42000] (错误 7303) 链接服务器"(null)"的 OLE DB 访问接口 "MicrosoftACEOLEDB120" 返回了消息 "Microsoft Access 数据库引擎无法打开文件“\\1921680100\att2000mdb”或向其写入数据。它已经被其他用户以独占方式打开,或者您没有查看和写入其数据的权限。"。 [SQLSTATE 01000] (错误 7412) 该步骤失败。

是ADO连接数据库的连接字符串

provider=MicrosoftJetOLEDB40表示采用的数据库引擎,该数据库引擎多用于Access数据库

DataSource=" & ThisWorkbookPath & "\userMDB;"表示数据源所在的位置及其名称

连接数据库的一种方式~~

我只懂ASP。起码ASP里有一种连接方式是这样的。

provider=对象名

MicrosoftJetOLEDB40

数据库引擎

Data

Source

数据源的地址

大体你可以理解为你要去火车站买车票,得知道去火车站的路怎么走。(也许比喻不太恰当吧,但是计算机这个东西有很多东西需要用心理解)

VBNET使用OLEDB连接数据库,即可进行 *** 作了。

但是不推荐使用ACCESS数据库,这个已经淘汰了。

VBNET连接数据库,从性能上来说,官方推荐使用的是SQL SERVER 2005

解决方法:“设置应用程序池默认属性”/“常规”/”启用32位应用程序”,设置为 true。 如下图所示:

需要注意的问题和解决方法:

1、MicrosoftJetOLEDB40不要写成 MiscrosoftJetOLEDB40。

2、Data Source不要写成“Data Sourse”。

3、检查是否安装了Office。

4、重新安装注册 MDAC28exe (一般你的vs安装目录里有或者到微软的官方网站上下)。

5、如果是64位平台,也可能出现这种情况;解决方法:生成->配置管理器-> 平台->点击Any Cpu选项卡->新建->新建平台->X86。

扩展资料

编写程序的时候,有时候运行结果达不到预期,多次检查仍然找不出问题,这时可以调试程序。调试程序的方法有很多,这里主要介绍单步运行程序调试。就是逐条语句执行,在执行的过程中直接观察变量的值的变化。

在大多数C语言编译软件中,简单调试程序的快捷键如下:

F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点。

F5调试状态运行程序,程序执行到有断点的地方会停下来。

CTRL+F10运行到光标所在行。

F10执行下一条语句(不进函数)。

F11执行(进入函数)step in

F11和F10都是单步执行程序,其区别是,如果当前执行语句是函数调用,则F11会进入函数里面,而F10不会进入此函数。

SHIFT+F5跳出当前所在函数。

初学者不容易记住这些快捷键,视频中主要介绍三个:F11和F10以及SHIFT+F5。

调试前,需要生成可执行文件。

CTRL+F7编译,生成obj文件。

F7链接,生成exe文件。

接下来就可以调试了。

F11和F10都是执行一条语句,不同之处在于是否进入函数。

主函数也是函数,是程序的入口,调试程序当然要进入主函数。所以首先可以按F11,进入主函数运行。

在单步执行过程中若遇到库函数,例如printf和scanf,则不需要进入这样的函数调试,故此时需要按F10单步执行语句。

而在单步运行中遇到了自己编写的函数,则需要进入函数调试,也按F11进入。

单步运行程序更能站在计算机的角度,理解程序的运行,也能发现程序中不容易检查到的问题。

这个是打开连接代码

cnnopen 表明连接变量是cnn

"Provider=MicrosoftJetOLEDB40; Data Source=" 这是表明连接用的驱动

myPath 表示数据源的地址变量,

是ADO连接数据库的连接字符串

1provider=MicrosoftJetOLEDB40表示采用的数据库引擎,该数据库引擎多用于Access数据库

2DataSource="& ServerMapPath("/aa/datamdb")表示数据源所在的位置及其名称

以上就是关于数据库引擎无法打开文件或向其写入数据。它已经被其他用户以独占方式打开,或者您没有查看和写入其数据的全部的内容,包括:数据库引擎无法打开文件或向其写入数据。它已经被其他用户以独占方式打开,或者您没有查看和写入其数据的、cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\user.MDB;"是什么意、Provider=Microsoft.Jet.OLEDB.4.0;Data Source =InstallDiruser.mdb是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/9316175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存