PB用OLE DB调用SQL SERVER带DATETIME 参数的自定义函数问题

himaernew 2007-03-30 02:06:52
在SQL SERVER 2000中创建自定义函数(返回值为TABLE):
CREATE FUNCTION UDF_TEST (@ADT_NOW DATETIME)
RETURNS @T_RET TABLE (AAA DATETIME)
AS
BEGIN
INSERT INTO @T_RET VALUES(@ADT_NOW)
RETURN
END

在查询分析器中调用是正确的, 如:
declare @adt_now datetime
set @adt_now = getdate()
select *
from dbo.udf_test(@adt_now)

但在PB中就不行了, 如
Long ll_count
DateTime ldt_now = DateTime(today())

SELECT COUNT(*)
INTO :ll_count
FROM DBO.UDF_TEST(:ldt_now);

SQLERRTEXT错误提示:
SQLSTATE = 42000
Microsoft OLE DB Provider for SQL Server
第 1 行: '{' 附近有语法错误。

PB试过PB9.0.3 B8836, PB10.2.1 B9761, 各位碰到过吗? 如何处理的?
...全文
410 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
himaernew 2007-03-30
  • 打赏
  • 举报
回复
在SP中用DATETIME参数, 好象没问题.

我现在的解决办法是, 自定义函数不变, 在PB中调用时不传递DATATIME类型参数, 传STRING参数,
如在DATAWINDOW中把ADT_NOW声明成STRING参数, 在SQL 语名中也用STRING参数, 就不会出错了.

himaernew 2007-03-30
  • 打赏
  • 举报
回复
用SP很麻烦的, 因为这个函数中有一大堆代码, 我要先检测有没有相关数据, 再调用这个函数生成DW数据. 如用自定义函数我就可以用:
SELECT COUNT(*)
INTO :LL_COUNT
FROM DBO.UDF_TEST(:ADT_NOW)
IF LL_COUNT > 0 THEN
....
END IF
如果用存储过程, 就麻烦了.
嘘嘘兔 2007-03-30
  • 打赏
  • 举报
回复
没用过PB9和OLE DB
实在不行你就在SQL SERVER 2000中写个SP,在SP中使用函数dbo.udf_test
然后在PB中调用SP
源码直接下载地址: https://pan.quark.cn/s/8ac6a8c064f8 Intellij Idea 12 外部jar包导入操作指南 Intellij Idea 12作为一款功能丰富且被广泛采纳的集成开发环境(IDE),为开发者提供了多种便利的工具以支持快速且高效的软件开发与调试工作。在众多功能中,从外部导入jar包是Intellij Idea 12的一项核心操作,接下来的内容将系统性地阐释如何在Intellij Idea 12环境中执行外部jar包的导入操作。 _步骤一:进入项目结构设置界面_ 启动Intellij Idea 12软件,加载一个既有的项目或新建一个项目,随后通过点击“文件”(File)菜单并从下拉选项中选择“项目结构”(Project Structure),此操作将引导用户进入项目结构配置界面。 _步骤二:执行模块添加流程_ 在呈现的项目结构配置界面中,用户需选择“模块”(Modules)这一选项卡,随后点击界面上的“+”符号,并从弹出的列表中选择“JARs or directories”(jar文件或目录),这一步骤将触发“添加jar或目录”(Add Jar or Directory)的对话框显示。 _步骤三:指定要导入的jar文件_ 在“添加jar或目录”(Add Jar or Directory)的对话框中,用户需要浏览并选中计划导入的jar文件,之后点击“确定”(OK)按钮,以完成jar文件的添加过程至项目中。 _步骤四:验证jar文件的导入状态_ 完成上述步骤后,用户可返回至项目结构配置界面,并在“依赖项”(Dependencies)选项卡下查看到新添加的jar文件,这证明了jar文件已成功被导入至项目中。 _注意事项_...

754

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧