SchemaCrawler无法找到MSSQL表

时间:2017-03-14 20:58:09

标签: sql sql-server database schema schemacrawler

我正在尝试使用SchemaCrawler&amp ;;从MSSQL数据库导出模式。 jTDS驱动程序(版本1.3.1)。

命令是:

./schemacrawler.sh \
  -server=sqlserver \
  -password= \
  -command=schema \
  -outputformat=png \
  -outputfile=./output/result.png \
  -infolevel=standard \
  -schemas=.*XYZ.*DOMAIN.user.* \
  -tabletypes=TABLE \
  -tables=.* \
  -routinetypes= \
  -loglevel=ALL \
  -url=jdbc:jtds:sqlserver://server.com:1433/XYZ\;instance=dbinstance\;useNTLMv2=TRUE\;domain=DOMAIN\;user=user\;password=pwd

数据库表是在用户架构下创建的,例如:DOMAIN \ user.Table1

与模式匹配的连接URL和正则表达式工作正常 - 当我使用相同的连接字符串启动数据库管理器时,我可以看到所有表都列为DOMAIN \ user.table。

但是,当我从Docker容器运行脚本时,我得到了:

Mar 14, 2017 8:53:18 PM schemacrawler.crawl.SchemaCrawler crawlTables
INFO: Crawling tables
Mar 14, 2017 8:53:18 PM schemacrawler.crawl.TableRetriever retrieveTables
INFO: Retrieving tables for schema: "XYZ"."DOMAIN\user"
Mar 14, 2017 8:53:18 PM schemacrawler.crawl.TableRetriever retrieveTables
FINER: Retrieving table types: [TABLE]
Mar 14, 2017 8:53:18 PM schemacrawler.crawl.MetadataResultSet close
INFO: Processed 0 rows for <retrieveTables>
Mar 14, 2017 8:53:18 PM schemacrawler.crawl.SchemaCrawler crawlTables
INFO: Retrieved 0 tables

为什么它看不到表格的任何想法?

1 个答案:

答案 0 :(得分:0)

请参阅SchemaCrawler网站上的Making Connections to a Database,看看是否有帮助。请尝试-schemas=.*user\.dbo.*,看看它是否适合您。

Sualeh Fatehi,SchemaCrawler