如何解决通过.net代码在Teradata中创建存储过程
我尝试使用Teradata.Client.Provider
从.NET代码创建存储过程。
我使用了这样的查询:
"REPLACE PROCEDURE test_db.testproc() BEGIN END;"
所有代码:
...
var connectionTd = new TdConnection("[ConnectionString]");
var cmdTd = connectionTd.CreateCommand();
cmdTd.CommandText = "REPLACE PROCEDURE test_db.testproc() BEGIN END;";
connectionTd.Open();
cmdTd.ExecuteNonQuery();
...
但是我得到一个错误:
[Teradata数据库] [3706]语法错误:无效的SQL语句。
在IDE中,例如dBeaver,都可以正常工作。
P.S。 this页面中的示例会导致相同的错误。
解决方法
感谢@Fred能够找到解决方案!
只需调用而不是 ExecuteNonQuery()-> ExecuteCreateProcedure()
...
var connectionTd = new TdConnection("[ConnectionString]");
var cmdTd = connectionTd.CreateCommand();
cmdTd.CommandText = "REPLACE PROCEDURE test_db.testproc() BEGIN END;";
connectionTd.Open();
cmdTd.ExecuteCreateProcedure(true);
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。