首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用Server存储过程和将插入到表中的文件中的一个变量

调用Server存储过程和将插入到表中的文件中的一个变量
EN

Stack Overflow用户
提问于 2015-08-28 00:59:21
回答 2查看 366关注 0票数 0

将VB 2008中的存储过程调用到Server数据库。传递几个变量,其中一个是具有完整路径的文件名。

我很难让存储过程获取文件并从中创建一个BLOB,并将其插入到表中的一个字段中。

传入变量:

代码语言:javascript
复制
    @myProduct      Varchar(20),
    @myVersion      Varchar(20),
    --@myFileName   Varchar(50),
    @myPath         Varchar(100),
    @myStatus       Varchar(15),
    @myDeviceType   VarChar(50),
    @myAction       Varchar(50),
    @shortName      Varchar(50),
    @myBlob         VarBinary(Max)

以下是插入的内容:

代码语言:javascript
复制
INSERT INTO schema.tablename
VALUES (@myProduct, @myVersion, @myAction, NULL,
        @myPath, @myBlob, myDeviceType, @Shortname)

我试着把

代码语言:javascript
复制
SELECT BulkColumn 
FROM OPENROWSET (BULK @myblob, SINGLE_CLOB) @lBlob 

@myBlob改变@lBlob

我得到了:

不允许从数据类型varchar隐式转换到var二进制文件(Max)。使用转换函数运行此查询。

有什么帮助吗?

EN

回答 2

Stack Overflow用户

发布于 2015-08-28 01:16:44

我必须读取您获取文件内容的代码,但看起来您正在以字符串的形式检索文件内容,并将它们传递给存储过程。然后,该语句试图将字符串插入二进制字段,但由于数据类型无效而失败。在insert语句中,可以执行以下操作:

代码语言:javascript
复制
INSERT INTO schema.tablename
VALUES (
  @myProduct,
  @myVersion,
  @myAction,
  NULL,
  @myPath,
  CONVERT(varbinary(MAX),@myBlob),
  myDeviceType,
  @Shortname
)

如果无法更改insert语句,则还可以在将字符串传递给存储过程之前将字符串转换为二进制数据类型。

另一种选择是将表上的数据类型从var二进制(Max)更改为varchar(max),然后您将不必管理任何转换。

如果您真的想变得精巧,还可以查看Server (https://technet.microsoft.com/en-us/library/Bb933993(v=SQL.105).aspx )。使用filestreams,您可以从数据库中传递和检索文件。它将存储在数据库之外的文件系统中,数据库将在内部维护有关该文件的元数据。

票数 1
EN

Stack Overflow用户

发布于 2015-08-28 01:37:23

阅读您的代码时,您似乎要将一个varbinary数据类型传递给varchar列数据类型。请检查您的列数据类型。

如果您不想转换@myBlob,您也必须使您的列数据类型为varbinary。因为您将变量@myBlob声明为varbinary.‘,或者可以将变量声明的数据类型从varbinary更改为varchar

3种方法来纠正它。

  1. 将变量@myBlob转换为varchar: 转换(varchar(Max),@myBlob)或CAST(@myBlob作为varchar(max))
  2. 将列数据类型从varchar更改为varbinary
  3. 将变量声明的数据类型更改为varchar: 宣布@myBlob VARCHAR(最大)

问候

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32261764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档