这是检测 cx_oracle 是否安装了 unicode 或非 unicode 版本的首选方法吗?

发布于 2024-10-16 18:09:19 字数 224 浏览 1 评论 0原文

我有一个自定义模块,它基本上是与 cx_Oracle 的数据库连接的薄包装。我想在安装了 cx_Oracle 的 unicode 版本和非 unicode 版本的计算机上重复使用此模块。

为此,我需要“检测”安装的版本。我可以“尝试”使用字符串连接描述符建立连接;如果我返回 TypeError,则假设它是安装的 unicode 版本。这看起来有点笨拙。

有更好/首选的方法吗?

谢谢。

I have a custom module that's basically a thin wrapper around a database connection with cx_Oracle. I'd like to re-use this module on computers with both the unicode version of cx_Oracle installed, and with the non-unicode version.

To do this, I need to "detect" the version installed. I could "try" making a connection using a string connection descriptor; and if I get a TypeError back, then assume it's the unicode version installed. This just seems a bit kludgy.

Is there a better/preferred way of doing this?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最后的乘客 2024-10-23 18:09:19

使用 try ... except 是进行此类检测的完美方法。使用相同的技术使用 SQLITE 编写可移植应用程序,该应用程序将在库中带有 SQLITE 的较新的 2.7 Python 和较旧的 2.4 上运行,其中 SQLITE 是一个具有更神秘名称的插件模块。

Using try ... except is a perfectly suitable way to do this kind of detection. The same technique is used to write portable apps using SQLITE that will work on newer 2.7 Python with SQLITE in the library and older 2.4 where SQLITE was an addon module with a more cryptic name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文