簡體   English   中英

為什么DBIx :: Class :: Schema :: Loader不創建我的類?

[英]Why isn't DBIx::Class::Schema::Loader creating my classes?

我正在嘗試在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上使用Strawberry Perl 該數據庫是SQL Server 2000,可通過ODBC連接訪問。 我可以使用具有相同ODBC連接的普通舊DBI成功運行查詢。

嘗試添加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}])

我發現,如果在架構加載中根本沒有任何錯誤,make_schema_at將中止並且根本不寫入任何內容。 確保診斷出它輸出的任何錯誤,然后重試。

在我的情況下,我設置了debug => 1,然后將其執行的操作輸出到終端,但這意味着您不容易看到所有輸出中是否有任何錯誤。 嘗試設置debug => 0來檢查實際錯誤。

我預感.\\lib是不正確的。 使用./lib或僅使用lib再試一次。

> perl -e'print ".\lib"' | hex
0000  2e 69 62                                          .ib

嘗試從Navision數據庫提取模式(1200個表!)時,我遇到了同樣的問題。 我最終只對想要的表使用了“ -o約束”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM