我在使用.NET和PostgreSQL时遇到问题。
我尝试将包含mac地址的字符串保存到PostgreSQL,但我收到以下错误:
“无法写入处理程序类型为MacaddrHandler的CLR类型System.String”
下面是我尝试使用的代码:
NpgsqlBatchCommand command = new NpgsqlBatchCommand("INSERT INTO table (param1,param2,param3) VALUES ($1,$2,$3)")
{
Parameters =
{
new() {Value = param1},
new() {Value = param2, NpgsqlDbType = NpgsqlTypes.NpgsqlDbType.MacAddr8},
new() {Value = param3}
}
};
说明:
param2表示字符串,它包含作为字符串的mac地址
我试着改变NpgsqlDbType,但不幸的是,它没有帮助。我也试着在官方文档中检查是否有应该如何做的任何示例,但我找不到任何东西
1条答案
按热度按时间btxsgosb1#
MacaddrHandler
是一个线索,它是C#类型和postgres类型之间的Map。A quick google,我们可以看到:
所以它很可能Map了一个
PhysicalAddress
。试试看: