资源描述
1. 一般性问题1.1 DbVisualizer 是不是开放性资源?不是的。DbVisualizer是一个专利软件应用程序。1.2我可不可以在外部媒介,比如通过CD分发DbVisualizer?详细信息请与联系。1.3 DbVisualizer中的参照图(references graph并艮好用。它是分开购买的吗? 是的。欲知详情请联系 uWorks。1.4我可不可以在我的网页上添加DbVisualizer的链接?当然可以!确认您添加的链接如下:2. 安装2.1 调试安装在Windows界面下:安装程序会在users临时文件夹目录里产生一个log in文件。一般 为:C:Documents and settings$USERLocal SettingsTemp. 文件名以 i4jnlog 开头。3. 运行 DbVisualizer3.1 我在开始运行的时候遇到 “无效的许可密钥代码文件格式 ”( Invalid license key format)当使用无效的许可密钥代码文件运行DbVisualizer 5.0时会出现上述错误。如果使用了旧 版如 3.x 或 4.x 版本的许可密钥代码文件,就会出现这样的问题。解决办法:升级您的 DbVisualizer Personal 个人版许可证。或者注册最新版本的许可证。或者确定您运行的 DbVisualizer 版本与您的许可证相符。3.2 我如何手动运行 DbVisualizer?正常情况下 DbVisualizer 是通过在安装时产生的可执行文件启动。下面的方法仅供推荐 启动方法不适合的时候使用。要注意以下是一个完整的命令,只有一行,中间没有行分隔符。 还要注意在冒号:”后没有空白。(以DbVisualizer安装目录中的确切地址代#$DBVIS_HOME):注意:以下命令只适用于 DbVisualizer 5.0:java -Xmx256m-cp $DBVIS_HOME/resources:$DBVIS_HOME/lib/alloy.jar:$DBVIS_HOME/lib/commons-lang.jar:$DBVIS_HOME/lib/crimson.jar:$DBVIS_HOME/lib/dbvis.jar:$DBVIS_HOME/lib/forms.jar:$DBVIS_HOME/lib/ideit-util.jar:$DBVIS_HOME/lib/jai-imageio.jar:$DBVIS_HOME/lib/jcchart.jar:$DBVIS_HOME/lib/jdom.jar:$DBVIS_HOME/lib/jide.jar:$DBVIS_HOME/lib/log4j.jar:$DBVIS_HOME/lib/nb-editor.jar:$DBVIS_HOME/lib/ognl.jar:$DBVIS_HOME/lib/openide-util.jar:$DBVIS_HOME/lib/poi.jar: $DBVIS_HOME/lib/yFiles.jar3.3 调试启动在 Windows 界面里:为 DbVisualizer 安装目录展开 DOS 外壳和 CD 。执行 set INSTALL4J_LOG=yes。然后启动 dbvis.exe这样就会在用户临时目录中创建一个log文件。一般位置为:C:Documents and settings$USERLocal SettingsTemp. The name of the file starts with i4jnlog4. JDBC4.1 什么是 JDBC?JDBC的全称为Java Database Connectivity,即Java数据库连接,是一个应用程序接口, 用来规范客户端程序访问数据库的方式。JDBC主要是描述多种低水平方法的Java界面。要 连接数据库,需要安装一个 JDBC 驱动。各个供应商提供各种不同的 JDBC 驱动,因此要访问 特定的数据库,必须安装与该数据库相符的JDBC驱动。DbVisualizer需要添加JDBC驱动程序。4.2我应该用什么样的JDBC驱动程序?你需要安装适用于你要连接的数据库JDBC驱动程序。想要更多信息,请参考Databases and JDBC Drivers。DbVisualizer适用任何类型的JDBC驱动,不过使用type 4驱动程序(又名light weight driver)最简单。4.3我怎么样加载JDBC驱动然后连接数据库?可以访问 Load JDBC Driver and Get Connected 中的 Connection Wizard 部分。4.4 无适当驱动”错误信息 “无适当驱动”信息可能会出现在连接标签中的连接信息中: 无适当驱动。没有驱动能够处理该特定 URL 的连接。最常见的原因就是该驱动没有在 Driver Manager中加载。还要确认URL拼写正确。要么是需要的驱动没有加载成功,要么就 是数据库的URL语法无效。5. 相关驱动/数据库5.1 Oracle: Oracle中存储过程/功能显示数次。注意:这个只有在使用免费版DbVisualizer或者当“genetic”数据库描述文件在个人版 DbVisualizer 载入的情况下才适用。属于一个数据包的Oracle存储过程/功能在数据库对象树中出现数次。这跟Oracle JDBC 驱动以及其报告存储过程/功能的方式有关系。5.2 Oracle: Oracle中存储过程/功能列出现数次。注意:这个只有在使用免费版DbVisualizer或者当“genetic”数据库描述文件在个人版 DbVisualizer 载入的情况下才适用。在Oracle数据库,在数据库对象树中现在一个存储程序/功能,该列会出现多次。这跟Oracle JDBC驱动以及其报告存储过程/功能的方式有关系。5.3 Oracle: Oracle 数据库中数字显示为无效如果JDBC驱动不符合2.0,这种情况可能发生。一般而言,我们建议针对Oracle应使 用最新版本的 JDBC 驱动。5.4 Oracle: 一些存储程序/功能在数据库对象树中显示为“xx.yy”。注意:这个只有在使用免费版DbVisualizer或者当“genetic”数据库描述文件在个人版 DbVisualizer 载入的情况下才适用。Oracle数据库能够把多个过程和功能分组打包。上述的xx”是指文件包名字,而yy”是 实际过程/功能名称。5.5 Oracle:在Oracle中,即使使用Oracle 9或更高版本,DDL标签都不出现。DDL功能要求JDBC 3驱动。确认您使用的是Oracle网站上最新版本的JDBC驱动。5.6 MySQL: MySQL 中 my tables 之间没有 references。MySQL 中不在参照图中显示的 InnoDB 类型的表格被证实在旧版本的 Connector/J JDBC Driver中为bug。请升级到最新的版本。5.7 MySQL: “0000-00-00”值不能作为 。要访问Data tab或SQL Commander中包含DATETIME列的表格有时候会在调试窗口中出 现“0000-00-00”值不能显示为的错误报告。出现这种情况的时候,整列都 会变成红色。由于DATETIME列的默认值被定义为0000-00-00 00:00:00,所以Connector/J driver报告 出错。当出现这种情况的时候,驱动就会失效。解决方法:1. 在对象树中选择MySQL数据库连接2. 选择“连接”选型卡中的“属性”3. 在分类树中选择“驱动程序属性”4. 在“属性”中找到 zeroDateTimeBehavior。以下是Connector/J 描述 zeroDateTimeBehavior 属性的摘选。当驱动程序遇到 DATETIME 值全都由零组成的时候会发生什么 ?有效值为 exception”、round”和convertToNull”。5. 在 value field 中输入一个有效选项。6. 点击应用”,然后就可以连接数据库了。5.8 Sybase:当访问 Sybase ASE 数据库时,DbVisualizer 会挂掉。 有些用户曾经投诉过访问 Sybase ASE 数据库时出现当机情况。这种情况发生在表格中Data和Row统计以及在SQL Commander中执行SQL语句的时候。问题出在Sybase JConnect驱动,而Sybase网站上的EBF10839能够解决这个问题。5.9 Sybase:连接 Sybase 的时候出现 UnsupportedEncodingException: xxx。当我连接Sybase数据库时出现以下:JZ006: Caught IOException: java.io.IOException:JZ0I6: An error occured converting UNICODE to the charset used by the server.Error message: java.io.CharConversionException: java.io.UnsupportedEncodingException: hp-roman8 解决方法很简单,只需要在数据库URL中添加?charset=iso_1 last: jdbc:sybase:Tds:localhost:2048/?charset=iso_1另外一个解决方法是添加一个驱动属性(连接属性),名为charset,值为iso_1。5.10 Sybase:加载FrontBase驱动时无法连接到Sybase ASE数据库。如果在 Driver Manager 中加载 FrontBase driver 似乎会影响到对 Sybase ASE 数据库的连 接。出于某种原因,FrontBase driver认为自己应该负责建立连接,而非Sybase JConnect driver。5.11 Sybase:无法在数据库中找到JZOSJ -元数据访问者信息”这个错误出现在 Sybase ASE 或 ASA 服务器没有激活 JDBC 的情况下。这是一个 JDBC 要 求,只要在服务器中执行一个脚本就可以轻松解决问题。更多信息可以从以下网址获得: Installation Guide Connect for JDBC 5.5.注意:上述脚本是jConnect驱动的一部份。5.12 DB2: DbVisualizer 挂起使用 Type 4 驱动程序来访问 DB2 有时候会导致 DbVisualizer 挂起。解决方法是确保 db2java.zip 文件不是加载到 Driver Manager 上。5.13 DB2: SQLs 错误在 SQL Commander 中不显示错误信息在使用 DB2 JDBC Universal Driver Architecturee 4 驱动程序来访问 DB2。当在 SQL Commander 执行错误的 SQL 语句是,出现的只有几个错误代码,但没有错误信息指示哪里 出错。解决方案: 出现这样的问题是因为驱动程序默认设置并不从数据库服务器里获取任何错误信息。要 改变这个设置只需要:1. 在对象树中选择DB2数据库连接2. 点击“连接”选项卡中的“属性”3. 在类型树中选择“驱动程序属性”4. 在列表中添加一行,名字为 retrieveMessagesFromServerOnGetMessage,值设为 True。5. 点击“应用”,然后连接数据库。5.14 DB2:执行错误 SQL 时 DbVisualizer 挂起当我在SQL Commander中执行一个错误的SQL命令时,DbVisualizer挂起。发 生 这 个 问 题 是 因 为 一 些 DB2 服 务 器 在 其 属 性 设 置 为 retrieveMessagesFromServerOnGetMessage 时不能处理错误信息。只要清楚它,然后重新连 接就可以了。反过来执行 5.13 中的过程就可以清除这个属性。5.15 SQL 服务器:连接 Windows Authenticaton使用jTDS JDBC驱动程序来连接Windows Authentication。想要更多详细信息,登录 以及域属性。下载驱动程序并安装完毕后,在DbVisualizer 连接属性中添加域属性。5.16 SQL 服务器:临时表格如果你在使用临时表格,确保要包含以下SQL语句作为匿名SQL块。例如:-/select * from mytemptable/6. DbVisualizer usage 用法6.1 为什么在参照图里表格之间没有弧线?参照图显示数据库里表格之间的关系以支持参照完整性(也称主键和外键映像)。如果数 据库不支持主键/外键映像,或者如果还没有定义映像,参照图就不会显示表格之间的弧线。像 Oracle、Sybase、DB2 和 Cloudscape 这样的数据库一般都支持参照完整性。6.2 这个变量是什么?DbVisualizer的变量管理主要用于把查询参数化。要了解更多信息,请参考SQLCommander的用户指南部分。6.4数据库程序和功能之间有什么区别?程序不能返回任何结果,而功能可以返回结果。6.5在Oracle中不能用大小写混合的名查看表格(除了 Oracle,别的数据库也会出现这种问题。我们只是在这里把Oracle作为一个例 子。)Oracle 一般所有对象名称都为大写,如表格名称、索引名称、列名称等等。但是,也 可能会创建这样的名称:create table myschema.MyTable这样做Oracle就会创建出指定的名称。要选择这个表格,您必须输入:select * from myschema.MyTableDbVisualizer的表格对象的Data and Rows选项卡会使用工具属性中指定SQL选择语 句。打开工具属性把 SQL Select All 修改为:select * from $schema$schemaseparator$table$把 SQL Select Count 改为:select count(*) from $schema$schemaseparator$table$6.6 在“Data” 和“SQL Commander” 选项卡中出现 java.lang.AbstractMethodError 错误DbVisualizer需要一个与Java 3 (JDBC 3.0)兼容的JDBC驱动程序才能正常工作。如 果使用与 Java 3不兼容的驱动时往往会(在调试窗口)出现以下错误信息。at se.pureit.dbvis.Selector.getValue(Selector.java:201)Exception occured during event dispatching: java.lang.AbstractMethodError: oracle/jdbc/driver/OracleResultSet.getBigDecimaljava.sql.SQLException: Unsupported feature at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:479) at oracle.jdbc.driver.OracleResultSet.getBigDecimal(OracleResultSet.java:866)6.7 无法看到同义词、触发器、功能、存储过程、视图、别名、数据文件、用户等等。只有DbVisualizer个人版才支持扩展可视化。查看feature matrix获得更多关于相 关数据库会出现哪些对象。6.9点击“停止”,但没有任何事情发生注意:以下只对 DbVisualizer 5.0以上版本有效。一般建议用户使用最新版本。当DbVisualizer控制当前的SQL执行时,点击“停止”只会中断执行。也就是说,如 果数据库当前正在执行命令,DbVisualizer会等到数据库完成执行命令后再中断此过程。 原因是JDBC的“取消”命令可能会导致JDBC服务器使程序停止或出现其他奇怪的错误。6.10 一个多声明 SQL 脚本可不可以访问数个数据库连接/数据库?不能。DbVisualizer个人版里的多声明SQL功能只能访问一个数据库连接的数据库对 象。6.11 调试 DbVisualizer按照以下步骤来实现具体的DbVisualizer调试:打开工具-工具属性选择调试分类设置调适等级为“调试” 设置等级为“全” 在工具属性窗口点击“完成” 打开工具-调试窗口 现在可以运行您想要得到的详细调试信息的操作。6.12如果表格/列名称包含大小写混合的字符和/或空格,DbVisualizer就会无效。 如果表格中表格或列名称中含有大小写混合的字符或空格, DbVisualizer 就不能访问 该表格的 Data, Row Count 选项卡和其他功能。解决方法是找出数据库连接的内含字符。执行以下步骤: 在数据库对象树里选择该数据库连接对象。在连接选项卡中选择属性卡。在 Table Name Prefix/Suffix 和/或 Column Name Prefix/Suffix 中输入适当的界定 符。The following isa list of validenclosing character per some of the supported databases.以下是各数据库有效字符的列表:DatabaseTable NamePrefixTable NameSuffixColumn NamePrefixColumn NameSuffixOracleHSQLSQL Server or nor or norMySQLPostgreSQLDB2Sybase or nor or nor6.13 可否完全禁用数据编辑?可以。方法:在文本编辑器里打开文件 DBVIS-HOME/resources/dbvis-custom.prefs. 找出 dbvis.disabledataedit property把它的值设置为true。记住要去掉该行开始的“附 保存文件,然后重新启动 DbVisualizer。7. Mini how tos 怎么样?7.1我怎么样执行SQL脚本?DbVisualizer个人版支持该功能。输入SQL语句,然后以工具属性中指定的界定符进行 界定(默认界定符为“;”)7.2怎么样在DbVisualizer免费版里编辑表格数据? 以下简单介绍了如使用变量代替功能来编辑数据。首先在数据库对象树中选择表格。选择要编辑的表格的“Data ”选项卡。 当鼠标在网格区的时候,单击鼠标右键,显示弹出菜单。弹出菜单列出了以下编辑选项:insert intoinsert COPY intoupdate wheredelete from这些选项中除了 “insert into”都要求选中至少一行中的一个单元格。选中的单元格会作为 最后where”从句中的对象。确保您选中合适的单元格。选择了选项后, SQL Commander 会出现。现在编辑区会包含一个伪 SQL 语句。该语句 包含 DbVisualizer 变量和默认值。现在点击 SQL Commander 中的“执行”。 然后会出现一个包含所有数据的表格。在这个表格里实施编辑。完成!7.3怎么样增大Java的内存?DbVisualizer默认Java VM最大内存为256MB。以下步骤为如何为每一个平台扩大内存。Windows/Linux/UNIX:在文本中打开dbvis.vmoptions options文件(该文件在DbVisualizer安装目录里)。可以在这个文件中添加任何Java系统属性,每一行都成为Java VM的标准系统属性: -Xmx256m(以上例子设置内存为256MB,但是您可以把它设置为适合您系统的值。Mac OS X:在Mac OS X里,编辑Info.plist文件,修改Java VM包含最大内存属性的参数。想了解更多参考 Changing proper ties and Java VM on Mac OS X7.4 如何改变 DbVisualizer 使用的 Java VM?在DbVisualizer安装目录里有一个.install4j目录。在这个目录里创建一个名为 pref_jre.cfg 的文件。在文本编辑器中打开该文件,在根目录里添加您想要使用的 Java 安装 完整路径。比如: Mac OS X: 参考 Changing properties and Java VM on Mac OS X7.5 Mac OS X操作疑问参考 FAQ. - Mac OS X7.6怎么样把设置移植到新机器上?所有的个人设置都保存在.dbvis目录里。该目录存储位置根据用户使用的OS不同而不 同。要从一个机器上把设置移植到新机器上,只要在原来的机器上把dbvis目录压缩到最大程度,然后在目标机器上解压缩。
展开阅读全文