写点什么

【YashanDB 知识库】使用 c- 调用 yashandb odbc 驱动执行 SQL 时报 YAS-08008 not all variables bounded

作者:YashanDB
  • 2024-12-10
    广东
  • 本文字数:899 字

    阅读完需:约 3 分钟

本文内容来自 YashanDB 官网,原文内容请见:https://www.yashandb.com/newsinfo/7508307.html?templateId=1718516


问题现象

某客户的应用(c# asp.net)在运行时报如下异常:


问题的风险及影响

客户的应用无法正常运行


问题影响的版本

所有的 yashandb 版本,所有的 yashandb odbc 驱动版本

 

问题发生原因

目前 yashandb 的 odbc 驱动不支持.net 框架使用绑定变量执行 SQL 语句

 

解决方法及规避方式

不使用绑定变量,或者升级 yashandb odbc 驱动版本


问题分析和处理过程

使用如下 c#代码可以重现问题,代码中 t 表的 ddl 定义如下:create table t(tid number);:

static void Main(string[] args)
{
string connectionString = "Driver=YashanDB;Server=192.168.24.49;Port=1688;Uid=user;Pwd=pwd;";
try
{
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
// 打开数据库连接
connection.Open();

// 创建一个 SQL 查询
string query = "SELECT * FROM t where tid = :tid";

// 使用 OdbcCommand 来执行 SQL 查询
using (OdbcCommand command = new OdbcCommand(query, connection))
{
command.Parameters.AddWithValue("tid", 1);
// 使用 OdbcDataReader 来获取查询结果
using (OdbcDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"ID: {reader["Id"]}, Name: {reader["Name"]}");
}
}
}
// 关闭连接
connection.Close();
}
}
catch (OdbcException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
复制代码

上面的 c#代码在执行时会在控制台打印异常:Error: ERROR [HY000] [YashanDB][ODBC Driver][Yas]YAS-08008 not all variables bounded


经验总结

最小化问题场景,复现问题。

发布于: 刚刚阅读数: 5
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
【YashanDB知识库】使用c-调用yashandb odbc驱动执行SQL时报YAS-08008 not all variables bounded_数据库_YashanDB_InfoQ写作社区