Catalyst - 创建数据库转储 - 获取“未找到表,您是否忘记指定db_schema?”在MS SQL Server连接上

时间:2012-09-11 00:02:33

标签: perl catalyst

我正在尝试创建连接到现有MS SQL Server数据库的Catalyst项目。我得到了正确的连接字符串并且它正在验证,但它没有找到任何表格。任何人都知道我可能会缺少什么?

我替换了真实的IP地址,数据库名称,用户名和密码,但你明白了。

这是我运行的命令:

script\qa_utility_create.pl model DB DBIC::Schema QA_Utility::Schema create=static "db_schema=DatabaseName" "dbi:ODBC:Driver={sql server};Server=1.1.1.1,1433;Database=DatabaseName" username password

当我运行时,我收到以下错误:

exists "C:\strawberry\perl\site\bin\QA_Utility\lib\QA_Utility\Model"
exists "C:\strawberry\perl\site\bin\QA_Utility\t"
Dumping manual schema for QA_Utility::Schema to directory C:\strawberry\perl\site\bin\QA_Utility\lib ...
Schema dump completed.
WARNING: No tables found, did you forget to specify db_schema?
exists "C:\strawberry\perl\site\bin\QA_Utility\lib\QA_Utility\Model\DB.pm"

2 个答案:

答案 0 :(得分:1)

检查您的db_schema是否有错误提示。默认值通常是“dbo”。

答案 1 :(得分:0)

所以我遇到类似问题连接mySQL数据库,这让我疯狂了大约4个小时(我是Catalyst的新手)。

创建脚本执行正常,但未能获取任何表格,显示“警告没有找到表格......”

然而,这些表存在于数据库中。

在此之前,我在脚本试图连接到数据库时遇到错误,并且在玩了一段时间之后,连接错误被清除了,我认为这一点都很好(错误!!! !)。

此时指定db_schema的建议解决方案具有误导性,因为问题更多的是连接无法返回任何有效数据的问题。所以我认为发生的事情是它找到了数据库,连接好了,但没有返回任何数据,因此没有表....

在玩了大约4个小时的连接参数之后,一个组合才神奇地起作用。

所以这是成功的命令行....

script / testcatalyst_create.pl model DB DBIC :: Schema testcatalyst :: Schema :: perl_test create = static dbi:mysql:perl_test:user = root

导致错误的参数是指定连接参数dbi:mysql ...

的最后一个参数 之前我曾尝试过...... script / testcatalyst_create.pl model DB DBIC :: Schema testcatalyst :: Schema :: perl_test create = dynamic dbi:mysql:perl_test,username = root

以及来自各种在线搜索的许多其他格式。 “:user = root”结果是正确的格式。

希望这有助于其他人!!!!!!!