macos – 使用FireDac和OSX Mavericks连接到远程Oracle XE11数据库

macos – 使用FireDac和OSX Mavericks连接到远程Oracle XE11数据库,第1张

概述我做了一个小应用程序,它应该连接到在虚拟机器内运行的远程Oracle数据库(W8.1). 在一个成功的连接上,应该d出一个showmessage. 我完成了以下步骤以确保我的应用程序能够连接: installing Oracle Instantclient on Mac OS/X without setting environment variables? 该应用程序使用FireDac的Oracl 我做了一个小应用程序,它应该连接到在虚拟机器内运行的远程Oracle数据库(W8.1).

在一个成功的连接上,应该d出一个showmessage.

我完成了以下步骤以确保我的应用程序能够连接:
installing Oracle Instantclient on Mac OS/X without setting environment variables?

该应用程序使用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.

现在我的应用程序能够连接.

@H_403_68@ 总结

以上是内存溢出为你收集整理的macos – 使用FireDac和OSX Mavericks连接到远程Oracle XE11数据库全部内容,希望文章能够帮你解决macos – 使用FireDac和OSX Mavericks连接到远程Oracle XE11数据库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1161788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存