gpt4 book ai didi

c# - 非法尝试使用文本/字节主机变量 - 插入文本列

转载 作者:太空宇宙 更新时间:2023-11-03 21:26:50 24 4
gpt4 key购买 nike

尝试通过 Dapper 插入表格(文本列),并从 Informix 获取错误:

非法尝试使用 Text/Byte 宿主变量

我已经写了一个小程序来模拟这个,但我仍然遇到问题。

我们目前无法使用 Informix 驱动程序,因为它们不适合我们的需要。

using Dapper;
using System;
using System.Data.Odbc;
namespace DapperParamsTest
{
class Program
{
static void Main(string[] args)
{
OdbcConnection conn = new System.Data.Odbc.OdbcConnection("Driver={IBM INFORMIX ODBC DRIVER (64-bit)}; Host=bylgia; Server=bylgia; Service=sqlexec; Protocol=onsoctcp; Database=DATABASE; Client_Locale=en_US.CP1252; DB_LOCALE=en_GB.1252");

var dynParams = new DynamicParameters();

dynParams.Add("np_c_ref",-1);
dynParams.Add("np_np_type","T");
dynParams.Add("np_text", System.Text.Encoding.Default.GetBytes("TEXT INPUT"), System.Data.DbType.Binary);

conn.Execute("INSERT INTO notepads (np_c_ref, np_type,np_text) VALUES (?,?,?)",dynParams);

Console.WriteLine("Written");
Console.ReadLine();
}
}
}

表结构:

CREATE TABLE notepad
(
np_c_ref int,
np_type char(1),
np_text TEXT
)

最佳答案

这个问题实际上可能比我假设的其他答案要简单得多;我刚注意到您说该列是 TEXT,但您传递给它的是 byte[]。如果需要,您可能应该使用 BYTE 数据类型。如果您想使用 TEXT - 只需将 string 传递给它(即 "TEXT INPUT")并忘记 Encoding.

关于c# - 非法尝试使用文本/字节主机变量 - 插入文本列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26484011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com