ODBC 的两个问题

zjcxc zjcxc 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
using System;
using System.Data.Odbc;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
using (OdbcConnection conn = new OdbcConnection("Driver={MySQL ODBC 5.2 Unicode Driver};multi_statements=1;erver=172.16.0.148;uid=root;pwd=1234;"))
{
conn.Open();
using (OdbcCommand cmd = new OdbcCommand("select 1;select a;", conn))
{
using (OdbcDataReader reader = cmd.ExecuteReader())
{
//Console.WriteLine(reader.Command) // 如果取到 reader.Comman,在监视窗口,或命令窗口都可以查到的
try
{
Console.WriteLine(reader.Read());
Console.WriteLine(reader.NextResult());
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Console.ReadLine();
}
}
conn.Close();
}
}
}
}

如果上代码,两个问题:
1. 如何在程序中取到 reader.Command ?在监视或命令窗口中可以,程序中取不到,代码直接出错了,说未包含 Command 定义(MSDN上确实没有查到,但监视窗口中是如何取到的 ?想在程序代码中也取)
2. i程序输出错误:ERROR [HY000] [MySQL][ODBC 5.2(w) Driver][mysqld-5.7.16-ndb-7.5.4-cluster-gpl-log]unhandled error from mysql_next_result()
这个显然不是真实的错误信息,如何能够得到真实的错误信息?如果用单句(只写 select a),可以得到正确的错误信息,但多语句的话,如果不是第1句出错,则得不到,但网络抓包是可以看到返回的包中有真实错误信息的,所以不知道有没有什么办法可以搞定
...全文
评论 5
收藏 已收藏
分享
返回顶部
zjcxc
C# 111,129 成员 642,538 内容