使用sqlite3和IronPython 2.6 for .Net4

前端之家收集整理的这篇文章主要介绍了使用sqlite3和IronPython 2.6 for .Net4前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用SharpDevelop 3.2.0,Iron Python 2.6.1 for .Net4.

要使用此模块访问IronPython,请访问sqlite3功能
IronPython.SQLite

我的程序是一个GUI应用程序并访问sqlite数据库.当从IronPython通过ipy.exe解释器启动程序时(包括数据库访问)工作得非常完美.

但是,如果我尝试启动我使用SharpDevelop编译为可执行文件的程序,我会得到异常:

IronPython.Runtime.Exceptions.ImportException:
No module named _sqlite3

此异常的原因位于dbapi2.py中:

from _sqlite3 import *

在IronPython控制台上,我可以导入_sqlite3并按预期使用它.

我已经向SharpDevelop提供了sqlite3模块的路径,但是在IronPython或sqlite3-module文件夹中没有任何名为_sqlite3的文件.

请告诉我在构建我的程序的编译版本时会出现什么问题.

非常感谢你.

解决方法

任何地方都没有_sqlite3文件; IronPython.sqlite.dll提供了一个名为_sqlite3的模块.

如果您按照网站说明并将IronPython.sqlite.dll放在DLLs文件夹中,这可能是它在SharpDevelop下不起作用的原因.运行ipy.exe时,它会隐式添加对DLLs文件夹中任何DLL的引用.当SharpDevelop构建一个可执行文件时,它是一个运行IronPython的小存根,但它不知道任何已安装的IronPython版本,因此不会从DLLs文件夹加载任何东西.

您最好修改主脚本以包含

import clr
clr.AddReference("IronPython.sqlite.dll")

然后确保IronPython.sqlite.dll与exe位于同一目录中.无论如何,这是我的首选选项,我应该在有机会时将其添加到说明中.

猜你在找的Sqlite相关文章