我正在尝试创建连接到现有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"
答案 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”结果是正确的格式。
希望这有助于其他人!!!!!!!