0

我正在尝试创建一个连接到现有 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"
4

2 回答 2

1

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

于 2012-09-11T05:47:10.083 回答
0

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

创建脚本执行正常,但未能获取任何给出“警告未找到表......”的表

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

在此之前,当脚本尝试连接到数据库时,我遇到了错误,在使用了一段时间的参数后,连接错误清除了,我认为此时一切都很好(错误 !!!!)。

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

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

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

script/testcatalyst_create.pl 模型 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" 原来是正确的格式。

希望这对其他人有帮助!!!!!!!

于 2013-11-27T16:56:20.227 回答