从 .net 代码在 Teradata 中创建存储过程
Create stored procedure in Teradata from .net code
我尝试使用 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 Database] [3706] Syntax error: Invalid SQL Statement.
在 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);
...
我尝试使用 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 Database] [3706] Syntax error: Invalid SQL Statement.
在 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);
...