I need to add some files uploaded from an HTML form to an MS Access DDBB. Using PHP, SQL and ODBC I haven't had any problem queryng to the Access file, except for attachment fields.

我需要將從HTML表單上傳的一些文件添加到MS Access DDBB。使用PHP,SQL和ODBC我沒有任何問題查詢Access文件,附件字段除外。

INSERT INTO TEMAS (DATOSADJUNTOS.FILENAME, DATOSADJUNTOS.FILEDATA) VALUES ("ExampleName.txt", "Wathever") WHERE ID = 4;

This query returns the following error:

此查詢返回以下錯誤:

SQLSTATE[07009]: Invalid descriptor index: -1003 [Microsoft][Controlador ODBC Microsoft Access] Argumento no válido. (SQLExecute[-1003] at ext\pdo_odbc\odbc_stmt.c:260)

No matter what I put instead of "Wathever", the error is always the same. Except if it is an empty string, then the query runs with no problem, and actually works, as you can see in the next image.

無論我放什么而不是“Wathever”,錯誤總是一樣的。除非它是一個空字符串,否則查詢運行沒有問題,並且實際上正常工作,如下圖所示。

Any idea of what should I put in the query to make it work, or any other way of inserting an attachment into a MS Access DDBB?

有什么想法我應該在查詢中使它工作,或任何其他方式將附件插入MS Access DDBB?

Thanks

謝謝

2 个解决方案

#1

2

Erik is right: You can't insert an Attachment using ODBC. You need to use Access DAO, like so:

Erik是對的:您無法使用ODBC插入附件。您需要使用Access DAO,如下所示:

$dbe = new COM("DAO.DBEngine.120") or die("Cannot create DBEngine object.");

$db = $dbe->OpenDatabase("C:\\Users\\Public\\Database1.accdb");

$rsMain = $db->OpenRecordset("SELECT DATOSADJUNTOS FROM TEMAS WHERE ID=4", 2); // dbOpenDynaset

$rsMain->Edit;

$rsAttach = $rsMain->Fields("DATOSADJUNTOS")->Value;

$rsAttach->AddNew;

$fldAttach = $rsAttach->Fields("FileData");

$fldAttach->LoadFromFile("C:\\Users\\Gord\\Desktop\\sample.pdf");

$rsAttach->Update;

$rsAttach->Close;

$rsMain->Update;

$rsMain->Close;

$db->Close;

Note that Access DAO is a component of the Access Database Engine, so this approach does not require a full install of the Microsoft Access application.

請注意Access DAO是Access數據庫引擎的一個組件,因此這種方法不需要完全安裝Microsoft Access應用程序。

#2

1

As far as I know, this is not possible when only using PHP and ODBC. You will need something that can interface directly with Access through COM or the command-line.

據我所知,僅使用PHP和ODBC時,這是不可能的。您將需要能夠通過COM或命令行直接與Access連接的東西。

You could create a macro to either import all files from a certain folder in Access, or to listen to the command-line and import a single file. Then you could trigger that using shell_exec in PHP. That means you will need to have Access on the server running the commands.

您可以創建一個宏來從Access中的某個文件夾導入所有文件,或者監聽命令行並導入單個文件。然后你可以在PHP中使用shell_exec觸發它。這意味着您需要在運行命令的服務器上安裝Access。

It isn't easy. I can give you pointers on steps if you really want to do this.

這並不容易。如果你真的想這樣做,我可以給你指出步驟。

See this google discussion where a Microsoft employee stated ACE ODBC has no support for attachment fields.

請參閱此谷歌討論,其中Microsoft員工聲明ACE ODBC不支持附件字段。

(If someone does know a way, I'd be happy to be corrected)

(如果有人知道某種方式,我很樂意得到糾正)

php access 插入,如何使用PHP將附件插入Access數據庫?相关推荐

  1. php mssql生僻字,php生僻字的處理,插入數據庫被截斷,空白,亂碼解決辦法,php冷僻字處理...

    前言歡迎喜歡php的朋友.喜歡mssql的朋友.喜歡extjs的朋友,一起來交流,本人不才,建個群,希望各位老師賞光.QQ群: PHP-MSSQL-EXTJS 號碼: 110888868 網上找了資料 ...

  2. mdf ldf 转mysql_如何將sql server 的.mdf和.ldf 數據備份文件導入到mysql數據庫中?

    示例 下面的示例將 pubs 中的兩個文件附加到當前服務器. EXEC sp_attach_db @dbname = N'pubs', @filename1 = N'c:\Program Files\ ...

  3. php 无法上传附件,Phpwind上传附件“插入”按钮失效无法批量上传解决方法

    今天无忧小编遇见一个用户的问题,在phpwind中要在一个页面中添加图片因为,假如一张张添加的话会非常慢影响建站速度,干脆这位朋友就选择批量上传图片,好不容易在上百张图片选出了三十多张准备上传的时候点 ...

  4. Access数据库教程_如何进行C#连接Access数据库的细节操作?

    许多学者总会面对于 数据库 的知识,以下的例子讲述到 Access 数据库说明,用 C# 的DataSet类访问数据库的一些操作方法. 操作涉及的主要C#类有: DataSet:对应数据库表的一个集合 ...

  5. 在html插入数学公式,给WordPress的文章插入数学公式

    EndlessLethe原创文章,转载请注明: 转载自小楼吹彻玉笙寒 问题背景我使用OneNote写总结. 在总结数论相关的算法时,文章会包含数学公式. 数学公式是MS特有的格式. 直接将OneNot ...

  6. mysql插入数据die_吴裕雄 10-MySQL插入数据

    语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ...

  7. ES 處於“initializing”狀態,此時主節點正在嘗試將分片分配到集群中的數據節點。 如果您看到分片仍處於初始化或未分配狀態太長時間,則可能是您的集群不穩定的警告信號。...

    指標要點: Cluster status: 如果集群狀態為黃色,則至少有一個副本分片未分配或丟失. 搜索結果仍將完成,但如果更多的分片消失,您可能會丟失數據. 紅色的群集狀態表示至少有一個主分片丟失, ...

  8. oracle v$access执行很慢,Oracle bug之v$access

    今天在客户数据库查询一表格的访问情况,结果系统出现 引用 SQL> / EVENT ------------------------------------------------------- ...

  9. MATLAB保存数据为dat格式,將matlab中數據保存為txt或dat格式

    將matlab中數據保存為txt或dat格式[轉] 具體的命令是:用save *.txt -ascii x x為變量*.txt為文件名,該文件存儲於當前工作目錄下,再打開就可以打開后,數據有可能是以指 ...

最新文章

  1. PCL之C++动态内存学习
  2. 记一次 HTTP信息头管理器使用 的重要性
  3. Beta--冲刺阶段合集
  4. Winpcap网络编程十之Winpcap实战,两台主机通过中间主机通信
  5. python之turtle库(画图)
  6. Nginx基础知识之————日志管理
  7. flume的配置和开启
  8. 显示消息提示对话框(WebForm)
  9. leetcode 剑指 Offer 03. 数组中重复的数字
  10. php导入excel到mysql的方法
  11. call() apply() bind()
  12. 一加10 Pro首发定制X轴线性马达:Top级超大体积 安卓阵营马达天花板
  13. PML之百分位数、数据分布、正态数据分布
  14. Android TV开发总结【适配】
  15. 材料成型是现代制造业的重要支柱,对经济社会的发展和综合国力的提升有着十分重要的意义。
  16. Ant design
  17. Java 标识符的命名规则与规范
  18. matlab中abs是什么函数,abs是什么函数(excel表格abs公式)
  19. python图灵机器人微信号_IT之家学院:让你的微信号变成自动聊天机器人
  20. 搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

热门文章

  1. netfilter的笔记3--那些内置的表
  2. 24. Swap Nodes in Pairs
  3. mysql数据类型总结
  4. $(document).ready()和window.onload的区别
  5. html5图片懒加载
  6. png库结合zlib库使用出现的一个链接问题的解决
  7. VC/MFC分割字符串(SplitString)返回CStringArray
  8. 视频监控:特征识别真的优于人脸识别吗?
  9. 浏览器的加载与页面性能优化
  10. Java数据类型中String、Integer、int相互间的转换