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是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)