Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python中的pyodbc库成功地将附件上载到Access数据库?_Python_Ms Access_Pyodbc - Fatal编程技术网

如何使用python中的pyodbc库成功地将附件上载到Access数据库?

如何使用python中的pyodbc库成功地将附件上载到Access数据库?,python,ms-access,pyodbc,Python,Ms Access,Pyodbc,因此,我使用python中的pyodbc库来访问我的Microsoft access数据库,只是尝试在我创建的字段中插入数据,其中一个字段是附件类型列。因此,我试图找到一种通过python将附件插入accdb的方法 这是我的代码,我已经成功地连接到我的数据库。 这就是我用来插入文本和附件的方法;我把它放在一个由分号分隔的组合字符串中,因为如果我选择并打印附件列中的值,我将得到输出: 但是,在运行之后,我收到此错误,并且没有填充任何字段: 因此,我的问题是:如何使用python中的pyodbc库

因此,我使用python中的pyodbc库来访问我的Microsoft access数据库,只是尝试在我创建的字段中插入数据,其中一个字段是附件类型列。因此,我试图找到一种通过python将附件插入accdb的方法

这是我的代码,我已经成功地连接到我的数据库。 这就是我用来插入文本和附件的方法;我把它放在一个由分号分隔的组合字符串中,因为如果我选择并打印附件列中的值,我将得到输出:

但是,在运行之后,我收到此错误,并且没有填充任何字段:

因此,我的问题是:如何使用python中的pyodbc库成功地将附件上载到Access数据库

如何使用python中的pyodbc库成功地将附件上载到Access数据库

你不能。Access ODBC驱动程序不支持将文件插入附件字段。因此,您不能使用pyodbc来执行此操作

我试图找到一种通过python将附件插入accdb的方法

可以使用Python将文件插入附件字段,但需要使用Access DAO来完成。您可以使用我从未尝试过的标准Python,也可以通过.NET框架使用和操作Access DAO

IronPython示例:

示例表:[MyTable] ID-自动编号,主键 附件文件-附件 将附件添加到ID=1的现有行 导入系统 t=System.Type.GetTypeFromProgIDDAO.DBEngine.120 dbe=System.Activator.CreateInstancet db=dbe.OpenDatabaserC:\Users\Public\Database1.accdb rs_main=db.openrecordsets从MyTable中选择AttachedFiles,其中ID=1,2 dbOpenDynaset rs_main.Edit rs\u attach=rs\u main.Fields[AttachedFiles].Value rs_attach.AddNew fld=rs_attach.Fields[FileData]附件的魔法字段名 fld.LoadFromFilerC:\Users\Gord\Desktop\sample.pdf rs_attach.Update rs_连接。关闭 rs_main.Update rs_main.Close db.关闭 如何使用python中的pyodbc库成功地将附件上载到Access数据库

你不能。Access ODBC驱动程序不支持将文件插入附件字段。因此,您不能使用pyodbc来执行此操作

我试图找到一种通过python将附件插入accdb的方法

可以使用Python将文件插入附件字段,但需要使用Access DAO来完成。您可以使用我从未尝试过的标准Python,也可以通过.NET框架使用和操作Access DAO

IronPython示例:

示例表:[MyTable] ID-自动编号,主键 附件文件-附件 将附件添加到ID=1的现有行 导入系统 t=System.Type.GetTypeFromProgIDDAO.DBEngine.120 dbe=System.Activator.CreateInstancet db=dbe.OpenDatabaserC:\Users\Public\Database1.accdb rs_main=db.openrecordsets从MyTable中选择AttachedFiles,其中ID=1,2 dbOpenDynaset rs_main.Edit rs\u attach=rs\u main.Fields[AttachedFiles].Value rs_attach.AddNew fld=rs_attach.Fields[FileData]附件的魔法字段名 fld.LoadFromFilerC:\Users\Gord\Desktop\sample.pdf rs_attach.Update rs_连接。关闭 rs_main.Update rs_main.Close db.关闭
顺便说一句,我按照你说的做了更新,并且能够使用你提供的示例使用win32com实现这一点,所以非常感谢你的帮助。从字面上说,我的代码和你的代码之间的唯一区别是Win32 COM模块的使用和一些函数。顺便说一下,我做了一个更新,我按照你说的做了,并且能够使用你提供的示例使用Win32 COM实现这一点,所以非常感谢你的帮助。从字面上说,我的代码和你的代码之间的唯一区别是Win32 COM模块的使用和一些函数。