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 でStrawberry 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

Navision データベースからスキーマ (1200 テーブル!) を抽出しようとして同じ問題が発生しました。必要なテーブルに「-o制約」を使用するだけになりました。

于 2016-10-07T10:26:04.080 に答える
0

私には.\lib正しくない予感があります。./libまたは だけで再試行してくださいlib

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