未发现数据源名称并且未指定默认驱动程序问题如何解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未发现数据源名称并且未指定默认驱动程序问题如何解决相关的知识,希望对你有一定的参考价值。
我在.asp文件中打开aceess数据库的代码如下
SetMyConnection=Server.Createobject("ADODB.Connection")
MyConnection.open “Guestbook.mdb”
当执行到下列代码时:
MyConnection.open “Guestbook.mdb”
出现错误,提示:“未发现数据源名称并且未指定默认驱动程序”,请问如何解决?
首先,在控制面板-管理工具--数据源中设置ODBC数据源,在设置ODBC数据源时,要添加“系统DSN”,不要添加“用户DSN”,因为添加“用户DSN”,只能在本机使用,当把程序移植到其它计算机时,程序就无法正常运行。当设置好ODBC数据源后,再运行程序,出现提示:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件'(未知的)'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
/exc6/Guestbook2.asp, 第 4 行
解决办法是修改C:\Inetpub\wwwroot目录下exc6文件夹的访问权限,修改方法是:
1、鼠标右键点击exc6文件夹,选择属性,选择“WEB共享”选项卡,将“不共享文件夹”改为“共享文件夹”,在别名文本框中随便输入任何一个字符串,再点击“编辑属性”按钮,在弹出的窗口中将“访问权限”下的四个选项框全部打上勾,将应用程序权限下的“执行(包括脚本)”选项选中,然后点击“确定”按钮退出。经过以上处理后,再运行程序,问题解决,而原来的程序不需要做任何修改。
解决办法二、
首先,在控制面板-管理工具--数据源中设置ODBC数据源,在设置ODBC数据源时,要添加“系统DSN”,不要添加“用户DSN”,因为添加“用户DSN”,只能在本机使用,当把程序移植到其它计算机时,程序就无法正常运行。当设置好ODBC数据源后,再运行程序,出现提示:“[Microsoft][ODBC 驱动程序管理器]驱动程序的SQLSetConnectAttr 失败”,通过在网络上经过一番查询后,有网友提示要把程序修改成下列代码:
dim connstr,MyConnection
SetMyConnection=Server.Createobject("ADODB.Connection")
'connstr="driver=Microsoftaccess driver (*.mdb);data source=Guestbook.mdb"
connstr="driver=Microsoft.Jet.OLEDB.4.0;datasource=Guestbook.mdb"
MyConnection.open connstr
程序修改后,再运行程序,问题解决。
在上面程序中,可以把下列代码:
connstr="driver=Microsoft.Jet.OLEDB.4.0;datasource=Guestbook.mdb"
替换成:
connstr="driver=Microsoft accessdriver (*.mdb);data source=Guestbook.mdb"
这里的Guestbook.mdb就是一开始设置ODBC数据源时,所输入的数据源名。
但奇怪的是,经过上面这样处理,问题得到解决,程序能够正常运行后,再把下列程序:
dim connstr,MyConnection
SetMyConnection=Server.Createobject("ADODB.Connection")
'connstr="driver=Microsoftaccess driver (*.mdb);data source=Guestbook.mdb"
connstr="driver=Microsoft.Jet.OLEDB.4.0;datasource=Guestbook.mdb"
MyConnection.open connstr
改回成原来程序:
SetMyConnection=Server.Createobject("ADODB.Connection")
MyConnection.open “Guestbook.mdb”
程序也能照样正常运行,不知是什么原因?
出现提示:“[Microsoft][ODBC 驱动程序管理器]驱动程序的SQLSetConnectAttr 失败”,通常是由于在控制面板-管理工具--数据源中设置ODBC数据源时,先添加了“系统DSN”, 然后又添加了“用户DSN”,然后又把“系统DSN”删除,然后再添加“系统DSN”,总之就是由于反复添加和删除“系统DSN”和“用户DSN”后,就会出现“[Microsoft][ODBC驱动程序管理器]驱动程序的SQLSetConnectAttr 失败”的提示。解决办法是将“用户DSN”和“系统DSN”都全部删除掉,然后重新启动计算机,再重新添加“系统DSN”,就能解决问题。 添加“系统DSN”的方法如下:
打开控制面板-管理工具--数据源窗口,选择“系统DSN”选项卡,点击“添加”,在弹出的窗口中,选择“Microsoft accessdriver (*.mdb)”,点击“完成”按钮,在弹出的窗口中,在数据源名文本框中,输入与下列代码:
MyConnection.open “Guestbook.mdb”
或下列代码:
connstr="driver=Microsoft.Jet.OLEDB.4.0;datasource=Guestbook.mdb"
MyConnection.open connstr
中,与“Guestbook.mdb”相同的名字,然后点击“选择”按钮,在弹出的窗口中,找到要使用的数据库,然后一直点击“确定”按钮,就可以添加一个数据源。
在建立数据库连接时,最好使用下列代码:
dim connstr,MyConnection
SetMyConnection=Server.Createobject("ADODB.Connection")
'connstr="driver=Microsoftaccess driver (*.mdb);data source=Guestbook.mdb"
connstr="driver=Microsoft.Jet.OLEDB.4.0;datasource=Guestbook.mdb"
MyConnection.open connstr
用上面这个代码建立的数据库连接会更加可靠,不容易出现问题,即使将程序移植到其它计算机上运行也不容易出现什么问题,而不要使用下列代码:
SetMyConnection=Server.Createobject("ADODB.Connection")
MyConnection.open “Guestbook.mdb”
用上面这个代码建立的数据库连接容易出现问题,如果将程序移植到其它计算机上运行,就容易出现错误,会提示:“未发现数据源名称并且未指定默认驱动程序”等问题。 参考技术A 1、很可能是权限问题,查一下iis中网站或虚拟目录的匿名账户,改成开机登录的系统管理员账号试试。
2、查一下odbc驱动程序中有没有microsoft access driver (*.mdb);
java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称而且未指定默认驱动程序解决方法
开发程序须要登录功能 。就不想用大数据库。直接用java连接access。 在自己机器上一切正常, url直连 和配置数据源都没有问题。 公布到windows server2008 上 ,获取不到数据连接。 系统都是64位。 office是2010 32位。 问题找了半天。终于得以解决:
32为的Access driver 须要用32位的jdk才干调用, 于是重装成与自己机器上一样的32位jdk, 连接成功,问题解决。 配置数据源不会能够搜一下。
以上是关于未发现数据源名称并且未指定默认驱动程序问题如何解决的主要内容,如果未能解决你的问题,请参考以下文章
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序怎么解决?
解决Navicat Premium连接SQL Server出现 未发现数据源名称并且未指定默认驱动
ODBC连接发生错误:未发现数据源名称并且未指定默认驱动程序