我正在尝试使用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
为什么它看不到表格的任何想法?
答案 0 :(得分:0)
请参阅SchemaCrawler网站上的Making Connections to a Database,看看是否有帮助。请尝试-schemas=.*user\.dbo.*
,看看它是否适合您。
Sualeh Fatehi,SchemaCrawler