OleDb 连接mysql E_FAIL(0x80004005)错误

问题描述

使用OleDbConnection连接mysql数据库,代码如下:OleDbConnectionmyconn=newOleDbConnection("Provider=MySqlProv;server=xxx;userid=xxx;password=xxx;database=xxx;port=xxx");myconn.Open();

当连接本机的mysql服务器的时候连接正常,但是如果连接远程mysql服务器就会抱如下错误:未处理System.Data.OleDb.OleDbExceptionHResult=-2147467259Message=没有可用的错误消息,结果代码:E_FAIL(0x80004005)。Source=System.DataErrorCode=-2147467259StackTrace:在System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionStringconstr,OleDbConnectionconnection)在System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptionsoptions,DbConnectionPoolKeypoolKey,ObjectpoolGroupProviderInfo,DbConnectionPoolpool,DbConnectionowningObject)在System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptionsoptions,DbConnectionPoolKeypoolKey,ObjectpoolGroupProviderInfo,DbConnectionPoolpool,DbConnectionowningConnection,DbConnectionOptionsuserOptions)在System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnectionowningConnection,DbConnectionPoolGrouppoolGroup,DbConnectionOptionsuserOptions)在System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnectionowningConnection,TaskCompletionSource`1retry,DbConnectionOptionsuserOptions,DbConnectionInternaloldConnection,DbConnectionInternal&connection)在System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory,TaskCompletionSource`1retry,DbConnectionOptionsuserOptions)在System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory,TaskCompletionSource`1retry,DbConnectionOptionsuserOptions)在System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory)在System.Data.OleDb.OleDbConnection.Open()在WindowsFormsApplication1.Form9.button15_Click(Objectsender,EventArgse)位置D:代码程序WindowsFormsApplication1WindowsFormsApplication1Form9.cs:行号585在System.Windows.Forms.Control.OnClick(EventArgse)在System.Windows.Forms.Button.OnClick(EventArgse)在System.Windows.Forms.Button.OnMouseUp(MouseEventArgsmevent)在System.Windows.Forms.Control.WmMouseUp(Message&m,MouseButtonsbutton,Int32clicks)在System.Windows.Forms.Control.WndProc(Message&m)在System.Windows.Forms.ButtonBase.WndProc(Message&m)在System.Windows.Forms.Button.WndProc(Message&m)在System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&m)在System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&m)在System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtrhWnd,Int32msg,IntPtrwparam,IntPtrlparam)在System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&msg)在System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtrdwComponentID,Int32reason,Int32pvLoopData)在System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32reason,ApplicationContextcontext)在System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32reason,ApplicationContextcontext)在System.Windows.Forms.Application.Run(FormmainForm)在WindowsFormsApplication1.Program.Main()位置D:代码程序WindowsFormsApplication1WindowsFormsApplication1Program.cs:行号18在System.AppDomain._nExecuteAssembly(RuntimeAssemblyassembly,String[]args)在System.AppDomain.ExecuteAssembly(StringassemblyFile,EvidenceassemblySecurity,String[]args)在Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()在System.Threading.ThreadHelper.ThreadStart_Context(Objectstate)在System.Threading.ExecutionContext.RunInternal(ExecutionContextexecutionContext,ContextCallbackcallback,Objectstate,BooleanpreserveSyncCtx)在System.Threading.ExecutionContext.Run(ExecutionContextexecutionContext,ContextCallbackcallback,Objectstate,BooleanpreserveSyncCtx)在System.Threading.ExecutionContext.Run(ExecutionContextexecutionContext,ContextCallbackcallback,Objectstate)在System.Threading.ThreadHelper.ThreadStart()InnerException:

不明白是什么原因,是权限问题吗?

解决方案

解决方案二:
无人问津啊,谁知道怎么回事
解决方案三:
http://dev.mysql.com/downloads/connector/net/去官网下载驱动,用ado.net连接,即便你能解决上述问题,还是建议你这样做。
解决方案四:
引用2楼ajianchina的回复:

http://dev.mysql.com/downloads/connector/net/去官网下载驱动,用ado.net连接,即便你能解决上述问题,还是建议你这样做。

用的pageoffice,他们连接mysql数据库是使用oledb连接方式,所以要解决这个问题。

时间: 2024-09-19 20:32:05

OleDb 连接mysql E_FAIL(0x80004005)错误的相关文章

jsp 网站开发-jsp连接 mysql 更新语法错误,大家帮我看看,谢谢~

问题描述 jsp连接 mysql 更新语法错误,大家帮我看看,谢谢~ update test set check='1' where memName ='lmy' 解决方案 有可能表中列名不对应或者设置的类型不对应

连接MySQL出现2013错误解决

环境:Navicat for Mysql 8.2+ MySQL Sever 5.1 问题:使用Navicat for Mysql连接MySQL出现 如下错误:2013-Lost connection to MySQL server at 'reading initialcommunication packet',system error:0.如图: 解决:重启MySQL服务------ ->重新连接. 附:MySQL批处理下载:http://ishare.iask.sina.com.cn/f/2

使用工具连接mysql时的错误提示

今天,同事在使用工具连接mysql时,发现了一个错误提示,如下 有问题,就看错误日志,同样发现了一条错误信息,如下 [ERROR] Incorrect definition of table mysql.proc: expected column 'comment'at position 15to have type text, found type char(64). 说是mysql.proc这个表的comment字段类型应该为text,但是却是char(64). 按照错误信息的提示,只要将c

JDBC连接mysql,TOMCAT错误: Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP

解决思路依据如下URL: http://blog.csdn.net/stail111/article/details/5640109 问题:MySQL数据库,如果数据库中日期字段为空为值为'0000-00-00 00:00:00"时,查询的时候回报:Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP   解决办法: 更改连接数据库方式 在连接:jdbc:mysql://127.0.0.1:3306/test

JSP连接MySQL时出现--错误:Access denied for user 'root'@'localhost' (using password: YES)'解决方案

用代码进行用户验证的时候总是出现这个错误,翻译一下,应该是root用户的是权限的问题没有放开. 那就想办法解决一下吧,具体的来说可以有这样的几种方式. 解决方法,首先想到的是先重启一下MySQL服务吧,但是试了一下,发现这并没有什么用. 网上搜索了一下,相关于MySQL的权限的释放和管理问题,找到一个比较好的答案: //首先计入到mysql的客户端命令行. //然后 grant all privileges on *.* to 'root'@'localhost' identified by '

php连接mysql错误的配置方法

 先来按书上测试一下php连接mysql 代码如下 <?php $link=mysql_connect('localhost','root','123456'); if(!$link) echo "失败!"; else echo "成功!"; mysql_close(); ?>   运行代码出现: Call to undefined function 'mysql_connect()'- 错误了失败 百度找到结果是PHP+MYSQL 环境没配置好, ph

provider 0x80004005-asp连接oracle Provider (0x80004005) 未指定的错误

问题描述 asp连接oracle Provider (0x80004005) 未指定的错误 各位大神,小妹这次被迫做个asp的东西,是拿的韩国人做的蹩脚程序,数据库要求改成oracle,改了之后一堆问题,逐个解决中,然后就很不幸的卡在这里了,已经在网上百度了一下午了,很多方法都试过了 . 最大的疑惑就是为什么前面打开登录网页没有问题,登录进去就这样了,跪求大神指点. 报错:Provider (0x80004005) 未指定的错误 /index.asp, line 148 连接代码 Set db

mysql登陆总是错误,提示连接不上服务器

问题描述 mysql登陆总是错误,提示连接不上服务器 今天登陆mysql客户端的时候,总是提示这样的错误: "can't connect to MYSQL server on 'localhost' (10061)",尝试很多办法都不行,请问该怎么办?? 解决方案 看下你的mysql服务有没有启动起来. 如果有故障,参考:http://www.jb51.net/article/26505.htm 解决方案二: 贴一下连接语句 顺便确定连接的电脑的mysqld服务是开启的 解决方案三:

oledb 连接串的格式-Excel导入数据库的 OleDb 连接串的格式,发生错误:找不到可安装的 ISAM。

问题描述 Excel导入数据库的 OleDb 连接串的格式,发生错误:找不到可安装的 ISAM. Excel导入数据库的 OleDb 连接串的格式,发生错误:找不到可安装的 ISAM. FILEname = "EXCEL" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + up[up.Length - 1]; File1.PostedFile.SaveAs(Server.MapPath(@"/exceltest/