在一个成功的连接上,应该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数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)