macos – 使用FireDac和OSX Mavericks连接到远程Oracle XE11数据
我做了一个小应用程序,它应该连接到在虚拟机器内运行的远程Oracle数据库(W8.1). 在一个成功的连接上,应该弹出一个showmessage. 我完成了以下步骤以确保我的应用程序能够连接: 该应用程序使用FireDac的Oracle FireDAC.Phys.Oracle驱动程序进行连接,并使用TFDGUIxLoginDialog进行登录. 确实没什么特别的: procedure TForm1.Button1Click(Sender: TObject); begin FDConnection1.Connected := True; end; procedure TForm1.FDConnection1AfterConnect(Sender: TObject); begin ShowMessage('Connected'); end; procedure TForm1.FDConnection1Error(ASender: TObject; const AInitiator: IFDStanObject; var AException: Exception); begin ShowMessage(AException.ToString); end; 这在Windows 8.1和10中运行良好而且快速. 但是在Mavericks中我得到了OID生成失败错误,如图所示. 如果我使用VM的IP或DNS名称进行连接并不重要.根本不会连接. 通过Oracle的SQL Developer能够连接. Oralce SQL Developer大约需要15到20秒才能建立与数据库的连接. 我的应用程序甚至没有尝试那么长的连接.它在约7秒后失败. 也许在稳定连接可用之前它会超时? 如果是这样,有没有办法在抛出错误之前延长登录过程的时间? 或许这是一个完全的其他问题? 请注意,我花了大约5个小时来解决这个问题已经没有成功. 任何帮助是极大的赞赏. 解决方法好的,这就是出了什么问题.我的OSX Mavericks来宾系统的主机文件不正确. 就像@whosrdaddy发布的那样,您必须更改您的主机文件,如以下链接中所述:http://chaos667.tumblr.com/post/20006357466/ora-21561-and-oracle-instant-client-11-2 我确实输入了可以在分享中找到的Devicename – > OSX控制面板中的Devicename. 所以我所做的是在主机文件中输入此名称. 但是我使用的名称不正确. 我使用echo“127.0.0.1 $(hostname)打印正确的名称得到了正确的名称:127.0.0.1 LionVM.local. 我很长一段时间没有使用这个VM,可能忘记了我在不久前升级到Mavericks后重命名了devicename. 现在我的应用程序能够连接. (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |