1

我正在尝试使用Perl 中的DBIx::Class生成静态模式。下面显示的命令输出Schema.pm而没有其他文件。知道我做错了什么,或者如何调试它?

U:\wohlfarj\Software\PARS>perl -MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:.\lib 
-e "make_schema_at('PARS::Schema',{debug=>1},['dbi:ODBC:PARS','user','password',{AutoCommit=>0}])"
Dumping manual schema for PARS::Schema to directory .\lib ...
Schema dump completed.

我在 Windows XP 上使用草莓 Perl 。数据库是 SQL Server 2000,通过 ODBC 连接访问。我可以使用具有相同 ODBC 连接的普通旧DBI成功运行查询。

4

4 回答 4

3

尝试添加 db_schema => "dbo" 和 odbc_exec_direct => 1,如:

perl -MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:.\lib -e "make_schema_at('PARS::Schema',{debug=>1, db_schema => "dbo"},['dbi:ODBC:PARS','user','password',{AutoCommit=>0, odbc_exec_direct => 1}])
于 2011-02-15T21:31:03.923 回答
2

我发现如果在模式加载中有任何错误,make_schema_at 将中止并且根本不写任何东西。确保您诊断出它输出的任何错误,然后重试。

就我而言,我设置了 debug=>1 ,然后将其输出到终端它正在做什么,但这意味着您无法轻松查看所有输出中是否有任何错误。尝试设置 debug=>0 来检查实际错误。

于 2014-03-28T01:44:34.617 回答
0

我有一种.\lib不正确的预感。再试一次./liblib

> perl -e'print ".\lib"' | hex
0000  2e 69 62                                          .ib
于 2010-05-20T08:48:53.287 回答
0

我在尝试从 Navision 数据库中提取模式(1200 个表!)时遇到了同样的问题。我最终只是对我想要的表使用了“-o 约束”。

于 2016-10-07T10:26:04.080 回答