Perl 为什么DBIx::Class::Schema::Loader不创建我的类?

Perl 为什么DBIx::Class::Schema::Loader不创建我的类?,perl,sql-server-2000,dbix-class,Perl,Sql Server 2000,Dbix Class,我试图用Perl生成静态模式。下面显示的命令输出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',{AutoComm

我试图用Perl生成静态模式。下面显示的命令输出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。数据库是SQL Server 2000,通过ODBC连接访问。我可以使用具有相同ODBC连接的纯old成功运行查询

我有预感。\lib不正确。请使用./lib或仅使用lib重试

我有预感。\lib不正确。请使用./lib或仅使用lib重试


尝试添加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}])

尝试添加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}])

我发现,如果模式加载中有任何错误,请随意中止并完全不写入任何内容。请确保诊断出它输出的任何错误,然后重试


在我的例子中,我设置了debug=>1,然后将它正在做的事情输出到终端,但这意味着您不容易看到所有输出中是否有任何错误。尝试设置debug=>0以检查是否存在实际错误。

我发现,如果架构加载中存在任何错误,请使\u schema\u at中止并根本不写入任何内容。请确保诊断出它输出的任何错误,然后重试


在我的例子中,我设置了debug=>1,然后将它正在做的事情输出到终端,但这意味着您不容易看到所有输出中是否有任何错误。尝试设置debug=>0以检查实际错误。

我在尝试提取架构1200个表时遇到了相同的问题!来自Navision数据库。我最终只对我想要的表使用了-o约束。

我在尝试提取1200个表时遇到了同样的问题!来自Navision数据库。我最终只是对我想要的表使用了a-o约束。

谢谢你的建议。我试过lib和./lib。他们有相同的结果-空Schema.pm,表没有模块。谢谢你的建议。我试过lib和./lib。它们有相同的结果-空Schema.pm,表没有模块。我手工编写了模式类。这似乎奏效了。从SQL Server中获取表定义肯定有问题。我手工编写了模式类。这似乎奏效了。从SQL Server中获取表定义时一定会遇到一些问题。需要更新此表定义,因为它解决了与问题类似的问题。需要更新此表定义,因为它解决了与问题类似的问题。