【发布时间】:2019-08-20 07:58:40
【问题描述】:
您好,我正在尝试使用 OleDB 调用 as400 存储过程。您能否发布一个如何执行此操作的示例,因为我一直在学习一些教程,但无论我做什么,我总是会收到 Invalid Token Exception 这就是我的工作
OleDbCommand sp = new OleDbCommand("CALL NASVARWG.SP001(?,?,?,?,?) ", connectionDB);
sp.CommandType = CommandType.StoredProcedure;
sp.Parameters.Add("P1", System.Data.OleDb.OleDbType.Char).Value = "ESANASTRIS";
sp.Parameters["P1"].Size = 10;
sp.Parameters["P1"].Direction = ParameterDirection.Input;
sp.Parameters.Add("P2", System.Data.OleDb.OleDbType.Char).Value = "SAMNAS";
sp.Parameters["P2"].Size = 10;
sp.Parameters["P2"].Direction = ParameterDirection.Input;
sp.Parameters.Add("P3", System.Data.OleDb.OleDbType.Char).Value = textBox_Reparto.Text;
sp.Parameters["P3"].Size = 6;
sp.Parameters["P3"].Direction = ParameterDirection.Input;
sp.Parameters.Add("P4", System.Data.OleDb.OleDbType.Char).Value = "we can do this";
sp.Parameters["P4"].Size = 60;
sp.Parameters["P4"].Direction = ParameterDirection.Input;
sp.Parameters.Add("P5", System.Data.OleDb.OleDbType.Char).Value = "help";
sp.Parameters["P5"].Size = 256;
sp.Parameters["P5"].Direction = ParameterDirection.Input;
sp.Prepare();
sp.ExecuteNonQuery();
我得到的异常是“NASVARWG”不是有效的令牌。为什么?这是包含该过程的库的名称,并且拼写正确。
感谢您的帮助
【问题讨论】:
-
这是一个非常具体的问题,所以我没有 100% 确定的答案给你,但可能这不是你用来在 AS 400 中调用存储过程的完整命令。我在网上找到这个,有帮助吗:ibm.com/support/knowledgecenter/en/SSEPGG_9.8.0/…
-
AS400 是一种计算机,而不是数据存储。那么您尝试访问 DB2 的数据存储是什么?
-
@Liam 是的,我正在尝试访问 DB2
-
@Ale61268967 您在 Windows 工作站上安装了哪个 Db2 客户端名称,它的版本是多少?
-
@mao 我正在使用适用于 Windows 版本 5 的 Iseries Access
标签: c# stored-procedures db2 oledb db2-400