使用 Golang 在 SQL 服务器中保存 PDF 文件
Saving PDF file in SQL Server using Golang
我在 SQL 服务器数据库中使用 Golang 中的存储过程保存 PDF 文件时遇到问题。下面是代码。
tsql := fmt.Sprintf("DECLARE @tmp varbinary(max);"+
"SET @tmp = CAST('%s' as varbinary(max));"+
"EXEC BP_AddCorrespondenceIn @PatientID=1, @ContactName='Test', @Subject='First Test',"+
"@Category='Report', @DocType='PDF', @Content = @tmp", content)
// Execute query
rows, err := db().Query(tsql)
这里的内容是[ ]字节。当我 运行 执行查询的程序时,出现以下错误:
mssql: '3�Ze�
#��!~T��ϔljQ*���f1-~L���^ը;s;���.�)�[P�hjDN��J�.1��W�Zt���xq�\r���ן�)N���=df' is an invalid name because it contains a NULL character or an invalid unicode character.
谢谢!
我通过将存储过程 exec 方法更改为 _, err := db().Exec(tsql, content) 并将 varbinary(max) 转换为 tmp = CAST(? as varbinary(max)) 来解决问题;
我在 SQL 服务器数据库中使用 Golang 中的存储过程保存 PDF 文件时遇到问题。下面是代码。
tsql := fmt.Sprintf("DECLARE @tmp varbinary(max);"+
"SET @tmp = CAST('%s' as varbinary(max));"+
"EXEC BP_AddCorrespondenceIn @PatientID=1, @ContactName='Test', @Subject='First Test',"+
"@Category='Report', @DocType='PDF', @Content = @tmp", content)
// Execute query
rows, err := db().Query(tsql)
这里的内容是[ ]字节。当我 运行 执行查询的程序时,出现以下错误:
mssql: '3�Ze� #��!~T��ϔljQ*���f1-~L���^ը;s;���.�)�[P�hjDN��J�.1��W�Zt���xq�\r���ן�)N���=df' is an invalid name because it contains a NULL character or an invalid unicode character.
谢谢!
我通过将存储过程 exec 方法更改为 _, err := db().Exec(tsql, content) 并将 varbinary(max) 转换为 tmp = CAST(? as varbinary(max)) 来解决问题;