我有一个应用程序,它允许用户为我的应用程序生成的某些值输入带有占位符的 SQL 字符串。应用程序将用值替换占位符并通过各种数据库后端执行 SQL 字符串。
对于 ODBC 后端,我在 SQL 字符串上调用 SQLExecDirect(),它在常规查询上运行良好,但对于带参数的存储过程失败。
有没有一种简单的方法来扩展这种机制以支持存储过程?某种方式的SQL必须怎么写?
我现在唯一能想到的就是开始解析 SQL 字符串并调用 SQLBindParameter() n 次,如果它包含一个“调用”。但是解析 SQL 很棘手。
有任何想法吗 ?
工作 SQL 示例:SELECT columnA from foo where columnB = '%placeholder'
非工作 SQL: CALL StoredFoo('%placeholder')