我正在尝试使用 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
任何想法为什么它看不到桌子?