免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5907 | 回复: 2
打印 上一主题 下一主题

DBD:TimesTen中execute函数无法执行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-05 14:43 |只看该作者 |倒序浏览
被一个问题困扰好几天了!
在HP-UX(IA64)上使用64位的TimesTen内存数据库,想用perl访问TimesTen作一些日常的维护工作。
cpan上down了一个DBD-TimesTen-0.06。先在linux上线测试了一下(HP是生产机,不敢乱搞),没有问题。
但是在HP上装的时候,麻烦不断!
先是编译不过,后来查出来是因为TimesTen是64位的,而perl Makefile.PL出来的Makefile没有加+DD64选项。
编译问题之后是perl程序的执行问题。现在的情况是只要代码里面没有execute()函数,都可以正确执行。只要代码
中有execute(),程序coredump
[web@cx_oam tanjie]$perl test.pl
Bus error (core dumped)

用perl -d单步调试时,执行到execute语句时,程序长时间无反映,cpu占用率极高,perl进程占用超过80%的cpu,
好像是在作死循环一样

DBD:TimesTen使用的人较少,网上几乎都找不到什么有用的信息,哪位大侠能从dbi出发,分析一下execute()函数到底是
通过何种途径调用driver的方法的。小弟刚刚接触perl,在此先谢过了!

论坛徽章:
0
2 [报告]
发表于 2007-10-05 20:26 |只看该作者

问题已解决

问题已经解决。
错误的原因是DBD:TimesTen在64位平台有bug,部分变量使用了TimesTen中有问题的类型定义,导致在64位平台上使用32位的变量接受TimesTen传来的64位的变量,变量溢出。

论坛徽章:
0
3 [报告]
发表于 2016-03-30 10:01 |只看该作者
为啥我 32bit 的XP 系统 和 64 win7 系统都会有这个问题呀,

D:\Users\KONGJUNLONG280>cd D:\pm\DBD-TimesTen-0.06

D:\pm\DBD-TimesTen-0.06>perl Makefile.pl
Useless use of private variable in void context at Makefile.pl line 113.

Configuring DBD::TimesTen ...

>>>     Remember to actually *READ* the README file!
        And re-read it if you have any problems.

Multiple copies of Driver.xst found in: C:/Perl64/site/lib/auto/DBI/ C:/Perl64/l
ib/auto/DBI/ at Makefile.pl line 68.
Using DBI 1.634 (for perl 5.022001 on MSWin32-x64-multi-thread) installed in C:/
Perl64/site/lib/auto/DBI/
Using TimesTen in C:\TimesTen\tt1122_64

Warning (mostly harmless): No library found for -lttclient
Warning (mostly harmless): No library found for -lmoldname
Warning (mostly harmless): No library found for -lkernel32
Warning (mostly harmless): No library found for -luser32
Warning (mostly harmless): No library found for -lgdi32
Warning (mostly harmless): No library found for -lwinspool
Warning (mostly harmless): No library found for -lcomdlg32
Warning (mostly harmless): No library found for -ladvapi32
Warning (mostly harmless): No library found for -lshell32
Warning (mostly harmless): No library found for -lole32
Warning (mostly harmless): No library found for -loleaut32
Warning (mostly harmless): No library found for -lnetapi32
Warning (mostly harmless): No library found for -luuid
Warning (mostly harmless): No library found for -lws2_32
Warning (mostly harmless): No library found for -lmpr
Warning (mostly harmless): No library found for -lwinmm
Warning (mostly harmless): No library found for -lversion
Warning (mostly harmless): No library found for -lodbc32
Warning (mostly harmless): No library found for -lodbccp32
Warning (mostly harmless): No library found for -lcomctl32
Multiple copies of Driver.xst found in: C:/Perl64/site/lib/auto/DBI/ C:/Perl64/l
ib/auto/DBI/ at Makefile.pl line 125.
Using DBI 1.634 (for perl 5.022001 on MSWin32-x64-multi-thread) installed in C:/
Perl64/site/lib/auto/DBI/
Generating a dmake-style Makefile
Writing Makefile for DBD::TimesTen
Writing MYMETA.yml and MYMETA.json

The DBD::TimesTen tests will use these values for the database connection:

    DBI_DSN=            e.g. dbi:TimesTen:demo
    DBI_USER=
    DBI_PASS=
Warning: not all required environment variables are set.


D:\pm\DBD-TimesTen-0.06>





























































































您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP