1

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

命令是:

./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

任何想法为什么它看不到桌子?

4

1 回答 1

0

请参阅SchemaCrawler 网站上的与数据库建立连接,看看是否有帮助。请尝试-schemas=.*user\.dbo.*看看这是否适合您。

Sualeh Fatehi,SchemaCrawler

于 2017-03-16T23:29:57.363 回答