Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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
Mysql 将图片插入sql表时出错_Mysql_Sql_Openrowset - Fatal编程技术网

Mysql 将图片插入sql表时出错

Mysql 将图片插入sql表时出错,mysql,sql,openrowset,Mysql,Sql,Openrowset,我正在尝试将一个“png”图像插入到名为barchart的sql表字段中,该字段的类型为blob,查询如下 插入疾病症状条形图值中,从OPENROWSETBULK N'/home/barchartC2936861.png'中选择Bulk列,在疾病id='C2936861'处选择单个BLOB作为图像 我得到以下错误。可能是什么原因 错误1064 42000:您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 在第1行使用接近'BULK N'/home/barchart'的语法 我

我正在尝试将一个“png”图像插入到名为barchart的sql表字段中,该字段的类型为blob,查询如下

插入疾病症状条形图值中,从OPENROWSETBULK N'/home/barchartC2936861.png'中选择Bulk列,在疾病id='C2936861'处选择单个BLOB作为图像

我得到以下错误。可能是什么原因

错误1064 42000:您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 在第1行使用接近'BULK N'/home/barchart'的语法


我想你可以使用加载文件

例如:

INSERT INTO expBLOB(ID,IMAGE) VALUES(1,LOAD_FILE('/some/path/image.png'))

如果可以,则将列的数据类型更改为“image”。取决于您使用的sql server版本。否则,如果它是基于oracle的db,则必须创建loadfile进程并按如下方式执行:
MySql OpenrowSet不用于将文件复制到数据库中,而是用于查询外部文件csv,xls(例如,带有连接字符串)

OPENROWSET ('MSDASQL','mysql connection string','query')

我建议你用一个简单的程序来加载这个文件,这个程序是用任何一种语言编写的,我不知道你是不是在用php开发,c。。。并通过一个简单的插入查询将已加载到内存中的数据传递给数据库。

我尝试的方法是:插入到疾病\症状\ socbarchart值加载文件'path/barchartC2936861.png'WHERE disease\ id='C2936861';但是我得到了一个错误:错误1064 42000:您的SQL语法有一个错误;查看与MySQL服务器版本对应的手册,以了解第1行“WHERE disease_id='C2936861”附近要使用的正确语法。在这里的链接中,它们不是指要加载的图像吗?正如我所知,sintax类型在sqlServer的旧版本上已经运行了一段时间:几年前我曾尝试使用这些类型,但问题比Semplications更多:首先,@parameterized函数一次都没有运行,这让我发誓,因为我必须对每个文件名进行查询:这是另一个大缺陷sintax是指你安装程序的每台电脑都必须有相同的目录,这是一个很大的限制:我建议你花点力气写一些限制更小、更灵活和可调试的东西。我很抱歉你的链接不再处于活动状态