- 大鱼炖火锅
-
解决办法一、
首先,在控制面板-管理工具--数据源中设置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:Inetpubwwwroot目录下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”
用上面这个代码建立的数据库连接容易出现问题,如果将程序移植到其它计算机上运行,就容易出现错误,会提示:“未发现数据源名称并且未指定默认驱动程序”等问题。
- S笔记
-
1、很可能是权限问题,查一下iis中网站或虚拟目录的匿名账户,改成开机登录的系统管理员账号试试。
2、查一下odbc驱动程序中有没有microsoft access driver (*.mdb);
- 豆豆staR
-
建ODBC数据源了吗?先确保已经建立了odbc数据源,然后要确定你的连接参数是正确的。
确保建立odbc数据源的时候,用的是‘系统DSN",而不是‘用户DSN"。
- wpBeta
-
去控制面板-管理工具里面找数据源ODBC。
根据你写的程序,建立数据源。
你写的程序,在项目管理器里,有个数据库,其中有个连接,建立数据源连接.
是你自己大意,忽略了这个步骤.
可以用程序完成,你baidu一下就有如何自动建立ODBC了,这里不再赘述.
- snjk
-
家在使用windows时难免有时因ODBC配置不正确,而使数据库无法访问。现在就先说一下,ODBC的配置。
ODBC管理器(Administrator)它负责安装驱动程序,管理数据源,并帮助程序员跟踪ODBC的函数调用。在ODBC中,应用程序不能直接存取数据库,它必须通过管理器和数据库交换信息。ODBC管理器负责将应用程序的SQL语句及其他信息传递给驱动程序,而驱动程序则负责将运行结果送回应用程序。运行32bit ODBC管理器后,出现一个主对话框,它的主要内容是要求用户输入一个数据源,所谓数据源就是数据库位置、数据库类型以及ODBC驱动程序等信息的集成。数据源负责将运行结果送回应用程序。应用程序、ODBC管理在使用之前必须通过ODBC管理器进行登记和连接,启动ODBC管理器后,选取Add按钮,根据自己的数据库类型,选择相应的ODBC驱动程序,然后输入数据源名(Data Source Name)和数据库文件名(Database Name),完成这些步骤后,以后的应用程序就能够通过ODBC管理器的数据源直接操纵数据库。
在Window95或者98下,ODBC管理器在控制面板里面的32bit ODBC。而在WINDOW2000下,ODBC管理器是在程序à管理工具à数据源(ODBC)中。第一次找它费了我好大的力气。后来动用了搜索才找到的。(想想自己还真够笨的。L)
下面以Window2000下的ODBC管理器为例,介绍一下每一页的用途:
3、 文件DSN:ODBC文件数据源允许用户连接数据提供者。文件DSN可以由安装了相同驱动程序的用户共享。这是界于用户DSN和系统DSN之间的一种共享情况。
4、 驱动程序:这页列出了本机上所有安装的数据库驱动程序。里面列举了每个驱动程序的名称,版本,提供商公司,驱动程序文件名,以及安装日期。
5、 跟踪:ODBC跟踪允许创建调用ODBC的日志,提供给技术人员查看。里面可设定日志的路径和文件名。技术人员通过这里面的信息可以看到本机上所有的数据库访问的时间,用户,以及出错信息等情况。也可以通过这个辅助调试应用程序,可以启动Visual Studio的分析器,来进行ODBC的跟踪。
6、 连接池:连接池允许应用程序重用原来打开的的连接句柄,这样可以节省到服务器的往返过程。
7、 关于:最后这一页列出了所有的ODBC的核心文件。
这里,我们以常用的Access数据库为例子,来说明创建一个用户数据源的过程。
假设我们已经通过Access创建了一个Sample.mdb文件(假设放在C:DB目录下),里面包含了所有的表,索引和数据。别的数据库可能不同,例如paradox数据库是把所有的表,索引,数据用不同的文件保存,但是都放在同一个目录下面。(别的如SQL Server,DB2,Oracle大型的数据库我们暂时不做介绍。因为一般非专业人员接触这样大型的数据库的机会不多,而且它们的配置都比较麻烦,当然,相应的功能也比小型的桌面数据库强,主要是提供了一些数据保护,数据安全,事务处理方面的东西。)
首先在用户DSN这一页,单击填加。
然后选择数据库的驱动程序,这里我们选择Microsoft Access Driver(*.mdb)。两外也有两项是以(*.mdb结尾)的。不过不能选那两个。然后单击完成。
然后在数据源名(N)上指定一个名字,可以任意指定,以后在程序里面使用的DSN就是这个名字了。然后选择数据库,在弹出的窗口中找到
C:DBSample.mdb,选择,确定。
这里,有两个复选框,可以规定数据库以只读或者独占的方式打开。另外,也可以通过右下角的"网络(N)…"按纽选择网络上另一台机器上的数据库。
返回到如下界面:
这时,已经选择好了数据库,可以确定退出。
另外,在高级按纽里面可以确定本数据源的访问密码。可以指定系统数据库。在选项按纽里面还可以设定缓冲区的大小等。
这里面,缓冲区是在内存中开辟的一个区域,通过ODBC数据源的操作实际上都是和缓冲区里面的数据打交道。
- tt白
-
解决办法一、
首先,在控制面板-管理工具--数据源中设置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:Inetpubwwwroot目录下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”
用上面这个代码建立的数据库连接容易出现问题,如果将程序移植到其它计算机上运行,就容易出现错误,会提示:“未发现数据源名称并且未指定默认驱动程序”等问题。