Giter Site home page Giter Site logo

tadpolefordbtools's Introduction

Tadpole DB Hub

Join the chat at https://gitter.im/TadpoleDBHub

Tadpole DB Hub is Unified infrastructure tool, various environment based interface for managing Altibase, Apache Hive, Apache Tajo, Amzaon DynamoDB, Amazon RDS, Amazon Redshift, Elasticsearch, MySQL, MariaDB, Oracle, SQLite, Tibero, MSSQL, PostgreSQL, CUBRID and MongoDB databases. It enables you to handle typical DB over the World Wide Web

screenshot

1.RDB Feature

  • Intuitive web interface (Safari, Chrome, Edge, Firefox)
  • User Management (Admin, Manager, User)
  • Support Altibase, Apache Hive, Apache Tajo, Amazon DynamoDB, Amazon RDS, Amazon Redshift, CUBRID, MySQL, MariaDB, Oracle, SQLite, MSSQL, PostgreSQL Database
  • Select, Insert, Update, Delete
  • Download query result
  • SQL Syntax Highlighting
  • SQL Formatting
  • SQL Statement <-> Java, PHP String Literal Each Convert
  • Content Assist
  • Execute SQL Statement
  • SQL Result Set to CSV
  • CSV, SQL Import to DB
  • SQL Audit And Export text
  • Generate SQL Statement (Select, Insert, Update, Delete, Table, View, Index, Procedure, Function, Trigger)
  • Generate ER Diagram (Auto Layout)
  • Schema Compare

screenshotscreenshot

Environment

  • more than Java 1.8.x
  • support system standalone : linux.gtk.x86, linux.gtk.x86_64, acosx.cocoa.x86, macosx.cocoa.x86_64, win32.x86, win32.x86_64
  • support system server : Apache Tomcat 8.x

Demo Video

Document

  • Developer Guide
  • RDB User Guide
  • MongoDB User Guide
  • RDB Tutorial

Site

Chrome web store

Extension

Download

License

  • Commercial Version and LGPL(Lesser General Public License) dual license
  • (If you wnat to know the commercial version, please contact us.)

Contacts

Contributor

Special thanks

Customer

tadpolefordbtools's People

Contributors

hangum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tadpolefordbtools's Issues

기본브라우져 설정이 웹브라우져가 아닌경우..

브라우져 대신 워드나 기타 다른 툴이 http프로토콜에 대한 기본 프로그램으로 지정되어 있을경우 정상적으로 실행되지 않습니다.

http프로토콜에 대한 기본 프로그램을 ie로 다시 원상복귀 시킨 후에 정상 작동합니다.

브라우져 자동 실행이 안될경우 사용자가 직접 브라우져 실행시켜서 접속할수 있도록 해주세요..^^

"SQL to Application" should not use clipboard

  1. Enter the following SQL into the Editor.
CREATE TABLE sample_table(id   INT(11),
                          name CHAR(60) DEFAULT NULL,
                          PRIMARY KEY (id) );
  1. Click on SQL to Application.
StringBuffer sqlBuff = new StringBuffer();
sqlBuff.append("CREATE TABLE sample_table(id   INT(11),                          name CHAR(60) DEFAULT NULL,                          PRIMARY KEY (id) );");

This is correct. Now simply copy this code (Ctrl+C/Cmd+C) and then choose PHP. PHP code will use the new clipboard value which is Java code actually.

$sqlBuff = "StringBuffer sqlBuff = new StringBuffer()";

$sqlBuff1 .= "sqlBuff.append("CREATE TABLE sample_table(id   INT(11),                          name CHAR(60) DEFAULT NULL,                          PRIMARY KEY (id) )";

$sqlBuff2 = "")";

데이터베이스 연결정보 목록 기능 보완.

데이터 베이스 연결정보 목록이 정보 입력창 하단에 리스트로 표시되는데..

선택후 더블클릭하면 연결되면서 닫히는데..

음...선택하면 위쪽에 해당 정보가 다시 표시되어서 수정할수 있게 한다거나 ...

약간 수정해서 새로운 연결정보로 추가등록(복사 기능)할 수 있으면 좋겠습니다...

개발서버 등록하고 나서..ip랑 비밀번호 정도만 바꾸면 운영서버 정보로 사용할수 있어서..^^;

입력하기 귀잖아서리...ㅋㅋ

"Fields" don't disappear when selecting other connections

Steps to reproduce:

  1. Select a connection. Object Explorer automatically should displays all tables.
  2. Select a table. The "fields" panel below should be auto populated with attributes of the selected table.
  3. Now select other connection or connection group. The table list disappears, which is correct, but the "fields" are still populated with the data of last selected table. It should also become empty like the table list.

디비 연결시 에디터 창에서 NullPointerException 이 발생 합니다.

os : windows 7 64bit

java :
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode)

browser : chrome 20.0.1132.57 m

tadpole.win32.win32.x86-0.0.8-SR1

회사 노트북에서만 그런줄 알고 집에서도 테스트해봤는데 동일한 증상이 발생 합니다.

에디터 창 닫고서 새로 열어도 창이 열리면서 계속 에러메시지만 뜨구요.

디비의 테이블 리스트나 그런것들은 잘 보입니다.

에디터 창에서만 에러가 발생 합니다.

확인 부탁드립니다.

감사합니다.

java.lang.NullPointerException
at com.hangum.db.session.manager.SessionManager.getUserInfo(SessionManager.java:118)
at com.hangum.tadpole.preference.get.GetPreferenceGeneral.getQueryResultCount(GetPreferenceGeneral.java:27)
at com.hangum.db.browser.rap.core.editors.main.MainEditor.(MainEditor.java:129)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:415)
at org.eclipse.ui.internal.registry.EditorDescriptor.createEditor(EditorDescriptor.java:236)
at org.eclipse.ui.internal.EditorManager.createPart(EditorManager.java:842)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:604)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:464)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:599)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:318)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:185)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:265)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:64)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:479)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1262)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1215)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1614)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:508)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:106)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:494)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:115)
at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:65)
at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)
at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)
at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:775)
at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:673)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:633)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2855)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2763)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2755)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2706)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:66)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2702)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2686)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2669)
at com.hangum.db.browser.rap.core.viewers.connections.ManagerViewer.refresh(ManagerViewer.java:354)
at com.hangum.db.browser.rap.core.viewers.connections.ManagerViewer.addUserDB(ManagerViewer.java:224)
at com.hangum.db.browser.rap.core.actions.connections.ConnectDatabase$1.run(ConnectDatabase.java:52)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:38)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:179)
at org.eclipse.swt.widgets.Display.runPendingMessages(Display.java:1148)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1135)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2733)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2694)
at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2530)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:702)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:685)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
at com.hangum.db.browser.rap.Application.createUI(Application.java:28)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:177)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:289)
at java.lang.Thread.run(Thread.java:722)
at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:102)

이것들을 울트라에디트에서 한줄에 한개씩 100개쯤 짤라서 넣어서 돌려 보면

http://www.okjsp.pe.kr/seq/199237
okjsp에 다음과같은 질문이 올라왔는데, 기능 구현을 해보는 것도 좋겠네요.

안녕하세요.

오라클을 이제 조금씩 배우고 있는 유저 입니다.

현재 해야 할 업무가

약 1000개의 sql을 각각 속도를 측정하여 그래프로 시간별로 표현해야 합니다.

하나씩 하기엔 너무 많고..

이것들을 울트라에디트에서 한줄에 한개씩 100개쯤 짤라서 넣어서 돌려 보면

결과값이 spool에 같이 떨어져서 파일도 엄청 커지고..

데이타가 많은건 편집 하기도 힘드네요.

이리저리 검색 해보니 toad에서도 된다고 하는것 같아 해보았지만

돌린 전체 쿼리가 끝난 총 합 시간만 나오네요.

개별적으로 이건 몇초 이건 몇초 이렇게 다 뽑아서

시간별로 총합을 구해야 합니다.

혹시 이런 비슷한 경험이 있으신분 도움 부탁 드립니다.

읽어 주셔서 감사합니다.

데이터 베이스 정보 수정기능.

한번 연결을 설정한 데이터 베이스 정보는 별칭이나 접속정보중 일부를 수정할 수 없음..삭제도 안됨..ㅡㅡ;

수정또는 삭제 기능이 필요할것 같음..

그리고..목록에서 접속했던 디비정보를 더블클릭하면 자동으로 연결되면서 좌측 트리메뉴에 표시해주는데..동일한 것을 계속 더블클릭하면 트리뷰에 계속 추가됨... 이미 있으면 추가되지 않아야 겠네요..

움...그리고. 데이터 베이스 접속정보에..테두리 색상을 지정해서.. 운영 / 개발 환경 접속여부를 visual하게 보여주면 좋겠습니당 ^^;

RDB Table edit 에러

테이블 에디터 로드시 데이터에 xml 특수문자가 있을 경우 에러 다이얼로그가 납니다.

SQL에디터.

트랜젝션 모드를 선택할 수 있게 해주세요..

현재는 AUTO COMMIT인듯 하네요..

ROLLBACK처리가 가능하면 좋겠습니다.

단축키좀 만들어주세요

토드처럼은 바라지 않구요...

유용한 단축키들을 만들어주셧으면 하네요 ^^

History (과거 수행 SQL문 조회)
F8 : 과거에 실행한 SQL문 History 목록
Alt + Up : History UP (최상위)
Alt + Down : History Down (최하위)

텍스트 대/소문자 변환
Ctrl + L : 소문자로 변환
Ctrl + U : 대문자로 변환

주석처리
Ctrl + B : 주석처리
Ctrl + Shift + B : 주석해제

편집 창 전환 (이동)
F6 : SQL Editor 창 결과창 간의 이동
F2 : SQL Editor 창 전체화면 전환
Shift + F2 : Grid Output 창 전체화면 전환

기타 단축키
F7 : 화면 모두 Clear
Ctrl + Shift + F : 쿼리문을 보기 좋게 정렬
Ctrl + F9 : SQL문 Validate (SQL문을 수행하지 않음)

윈도우
ESC : 열린 윈도우 닫기

이런거정도? 물론 쓰는게 더 많긴하죠 토드에서는

Show table fields in Object Explorer when table is selected in ERD tab

Currently in order to see the table attributes, we need to select a table from Object Explorer on the left panel. This is nice!

However when selecting a table in the ERD diagram nothing happens. We can only drag and drop. It would be really nice UX if table attributes are automatically displayed when table is selected on ERD tab.

Strip whitespaces of a query in "SQL to Application"

Tadpole has this really nice SQL to Application feature. But it can be improved more.

  1. Insert the following CREATE TABLE SQL to the Editor.
CREATE TABLE   sample_table   ( 
 id INT(11),  
 name char(60) default NULL, 
 PRIMARY KEY (id) 
 );
  1. Click on Format SQL. This will make the SQL look beautiful.
CREATE TABLE sample_table(id   INT(11),
                          name CHAR(60) DEFAULT NULL,
                          PRIMARY KEY (id) );
  1. Click on SQL to Application. A modal window will pop up with Java or PHP code.
StringBuffer sqlBuff = new StringBuffer();
sqlBuff.append("CREATE TABLE sample_table(id   INT(11),                          name CHAR(60) DEFAULT NULL,                          PRIMARY KEY (id) );");

As you can see the SQL in the above code has very long whitespaces which were added after Format SQL step. When converting SQL to Application it would be good to strip these whitespaces off.

Object Explorer 기능 확장 제안..^^;

테이블 comment 또는 컬럼 comment를 object explorer에서 직접 편집 가능하면 좋겠습니다.

욕심은 끝이 없어서...이러고 나면...테이블명세같은 레포팅 기능도 요구하게 될지도...ㅎㅎ

오라클의 경우 테이블 목록에서 우측버튼 누르면 나오는 메뉴들에 사용자 정의 sql을 등록하고 메뉴로 연결해 주는 기능이 있으면 좋겠습니다.

가령 테이블 통계데이터 생성이라든가...^^

table명을 인수로 넘겨서.. analyze table 테이블 compute statistics; 같은 명령^^ 추가 옵션들도 있지만...

Sqlite db의 disconnect메뉴가 안돼요.

연결을 해제하는게 안됨...

올챙이 서비스 자체를 종료햬야하는것 같음...

올챙이를 재시작 또는 종료하는 기능이 없어 작업관리자에서 프로세스 종료시키고 있음.

쿼리가 길어지면 에디터 창의 마우스 커서와 실제 동작하는 영역의 차이가 큽니다.

version : win32.win32.x86_64-05.15.zip
window : windows 7 ultimate k 64bit
java : jdk1.7.0_03

쿼리 에디터의 창이 200라인 정도 넘어가면 실제 마우스 포인터의 위치와

에디터의 동작하는 위치가 차이가 많이 납니다.

말로 설명하기 에메 하지만 클릭이나 드래그를 했을경우에

실제 동작한 영역 보다 4라인 정도 아래에 위치한 영역이 선택되거나 클릭됩니다.

그리고 한글이 잘 써지다가도 안써질때가 있구요.

추가로 디비 새로 추가해서 저장할때 에러 발생하고 넘어가는 경우가 있습니다.

com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/hangum/db/commons/sql/query/Tadpole-System-SQLiteSQL.xml.
--- The error occurred while executing update.
--- Check the INSERT INTO user_db(seq, user_seq, type, url, database, display_name, host, port, locale, passwd, user) VALUES( (select max(seq) from user_db)+1 , ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) .
--- Check the SQL Statement (preparation failed).
--- Cause: java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (table user_db has no column named locale)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:393)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:58)
at com.hangum.db.system.TadpoleSystem_UserDBQuery.newUserDB(TadpoleSystem_UserDBQuery.java:43)
at com.hangum.db.browser.rap.core.dialog.dbconnect.MySQLLoginComposite.connection(MySQLLoginComposite.java:243)
at com.hangum.db.browser.rap.core.dialog.dbconnect.DBLoginDialog.okPressed(DBLoginDialog.java:291)
at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:457)
at com.hangum.db.browser.rap.core.dialog.dbconnect.DBLoginDialog.buttonPressed(DBLoginDialog.java:315)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:609)
at org.eclipse.swt.events.SelectionEvent.dispatchToObserver(SelectionEvent.java:191)
at org.eclipse.rwt.internal.events.Event.processEvent(Event.java:46)
at org.eclipse.swt.events.TypedEvent.processEvent(TypedEvent.java:186)
at org.eclipse.swt.events.TypedEvent.executeNext(TypedEvent.java:208)
at org.eclipse.swt.widgets.Display.runPendingMessages(Display.java:1145)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1135)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:841)
at org.eclipse.jface.window.Window.open(Window.java:817)
at com.hangum.db.browser.rap.core.actions.global.ConnectDatabaseAction.runConnectionDialog(ConnectDatabaseAction.java:64)
at com.hangum.db.browser.rap.core.actions.global.ConnectDatabaseAction.run(ConnectDatabaseAction.java:47)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:493)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:575)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:492)
at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:443)
at org.eclipse.swt.internal.widgets.UntypedEventAdapter.dispatchEvent(UntypedEventAdapter.java:646)
at org.eclipse.swt.internal.widgets.UntypedEventAdapter.widgetSelected(UntypedEventAdapter.java:90)
at org.eclipse.swt.events.SelectionEvent.dispatchToObserver(SelectionEvent.java:191)
at org.eclipse.rwt.internal.events.Event.processEvent(Event.java:46)
at org.eclipse.swt.events.TypedEvent.processEvent(TypedEvent.java:186)
at org.eclipse.swt.events.TypedEvent.executeNext(TypedEvent.java:208)
at org.eclipse.swt.widgets.Display.runPendingMessages(Display.java:1145)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1135)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2733)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2694)
at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2530)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:702)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:685)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
at com.hangum.db.browser.rap.Application.createUI(Application.java:29)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:177)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:289)
at java.lang.Thread.run(Thread.java:722)
at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:101)
Caused by: java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (table user_db has no column named locale)
at org.sqlite.DB.newSQLException(DB.java:383)
at org.sqlite.DB.newSQLException(DB.java:387)
at org.sqlite.DB.throwex(DB.java:374)
at org.sqlite.NativeDB.prepare(Native Method)
at org.sqlite.DB.prepare(DB.java:123)
at org.sqlite.PrepStmt.(PrepStmt.java:42)
at org.sqlite.Conn.prepareStatement(Conn.java:404)
at org.sqlite.Conn.prepareStatement(Conn.java:399)
at org.sqlite.Conn.prepareStatement(Conn.java:383)
at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:248)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:302)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.ibatis.common.jdbc.logging.ConnectionLogProxy.invoke(ConnectionLogProxy.java:53)
at $Proxy1.prepareStatement(Unknown Source)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.prepareStatement(SqlExecutor.java:497)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:75)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
... 43 more

감사합니다.

What should "ERD View" do?

I logged in as a Manager. Then selected a database connection and clicked on "ERD View" button in the main toolbar. A new tab is opened with CUBRID Connection URL and that's all. Nothing else. So what should it do? Should it display something?

에디터 사용자 편의성 보완.

  1. Ctrl+e 보다는 e대신에 오른손으로 누르기 편한 단축키나 Ctrl + Enter가 더 편리할거 같음.
  2. Ctrl + e해서 실행할때 각 문장의 구분은 세미콜론 또는 공백 라인이 있다면 가능하도록 ...현재는 세미콜론만..

Object Explorer 필터검색 기능 오류.

오브젝트 (테이블..)목록에서 일부 문자열이 포함되는 테이블 목록을 표시하는 기능인듯 한데...

특정 문자열을 입력하면 해당 문자열로 시작하는 테이블이 목록에 표시되는게 아니라 모두 표시가 안되네요..

필더 기능이 안됩니다.

Views탭에서는 필터가 정상 작동합니다....

사용자 ui개인화 기능? ^^

각 업무 롤또는 개인별로 화면의 배치나 구성을 업무 관점에서 배치를 할수 있었으면...^^

이클립스에서 퍼스펙티브...이거 들으면서 ..^^;

물론 ms_erp같은 경우도 각 업무 담당자별 관심 포인트에 따라서 ui를 조정하는 기능이 있더라구..^^

dba / 모델러 / 운영자 / 개발자 / 관리자 관점에서 뷰를 재정의 해줄 수 있다면 너무 좋을것 같음...

Object Explorer 정렬 오류.

Object Explorer 에서 표시되는 테이블 탭에서 테이블 목록의 Name헤더를 클릭하면 테이블 명칭을 기준으로 오름차순, 내림차순 정렬이 되지 않습니다.

덧붙여서 아래쪽에 나오는 컬럼목록도 정렬기능이 있었으면 좋겠네요..

컬럼이 많은 테이블에서 해당 컬럼 찾아볼때는 정렬해놓고 보는게 편할때가 있어서요...

What is the difference between Manager and Guest accounts?

When I launch Tadpole I see the login dialog which has 4 buttons: Manager, Guest, New, and Login. When I click on Manager it displays the main Dashboard. When I click Guest, it also displays main dashboard except for "Users" button in the top toolbar. So I can login to these two accounts without login.

So what is the difference between these two accounts except for "User Management"?

Zoom Percentage freeze, doesn't auto update [Video included]

Bug in Chrome 20 on Mac OS X. Safari on Mac works ok. See this screen video http://ge.tt/api/1/files/5AYCVYK/0/blob?download.

Steps to reproduce:

  1. Select a DB Connection
  2. Click on "ER View" in the toolbar. A new ER tab should be opened.
  3. Now in the toolbar *Zoom related tools should be enabled such as: Zoom In, Zoom Out, and Dropdown box to select specific percentage. Click on dropdown arrow and start clicking on UP/DOWN arrows of the scrollbar. The % numbers will be freezed until mouse hovering on them.

But, if a user first clicks on scrollbar, drags it, then click on UP/DOWN, it works correctly. But clicking on UP/DOWN directly, doesn't update the contents of the dropdown box.

dml 실행권한 관리기능.

각각의 등록된 사용자 별로 실행되는 dml(sql)을 관리자(dba)에게 승인을 받아야 실행할 수 있도록 하는 기능이 있다면 좋겠네요..

특정(개인정보나, 민감한 정보들)정보가 있는 테이블과 조인되는 쿼리나 해당 테이블의 자료를 조회하거, 수정, 삭제 하는 경우 또는 데이터를 export하는 작업을 실제 실행 시키기 전에 관리자로 등록된 사용자나 기타 전자결재 처럼 결재 라인을 통해 결재된 쿼리만 수행되도록 하는 거죠...^^

중요한 정보를 truncate 테이블 ..해버리면...ㅡㅡ; 대략 난감하잖아요...

또는 중요한 계좌 정보나 주민번호 같은걸 조회해서...유출한다거나?? ^^;

실행시 기본브라우져 오픈 기능의 오류.

설치 (압축해제) 후에 exe를 실행 시키면 서비스 스타트 후에 기본 브라우져에서 올챙이 접속 url로 접속을 유도하기 위해서 브라우져를 띄우는데 이때 기존에 열려있던 페이지를 교체해 버리네요..

새로운 창, 또는 새로운 탭페이지에 오픈에 주면 좋겠습니다.

그리고 아직 서비스가 다 올라오기 전에 페이지가 load되면 404 에러 비슷한 에러가 나옵니다.

약 2,3초 지난 후에 리프레쉬 하면 정상적으로 표시 됩니다.

아마도 서비스가 제대로 올라오기 전에 브라우징을 해서 그러는듯 합니다.

Create Table 이후 동작 이슈

What steps will reproduce the problem?

  1. DB -> Connection Manager -> Create Table
  2. sample_table 생성 쿼리에서 Format SQL 클릭
  3. Execute ALL 클릭
  4. Object Explorer에서 sample_table(id 선택

What is the expected output? What do you see instead?
Execute ALL 클릭을 하면, sample_table(id 라는 테이블이 생성됨.
Object Explorer에서 sample_table(id를 선택하면 다음 에러 다이얼로그가 뜸.
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/hangum/db/commons/sql/query/MySQL.xml.
--- The error occurred while applying a parameter map.
--- Check the tableColumnList-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(id' at line 1
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:201)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)
at com.hangum.db.browser.rap.core.viewers.object.ExplorerViewer$12.selectionChanged(ExplorerViewer.java:710)
at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:166)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:51)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:177)
at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:164)
at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2170)
at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1193)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1223)
at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:232)
at org.eclipse.jface.util.OpenStrategy.access$3(OpenStrategy.java:226)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:403)
at org.eclipse.swt.internal.widgets.UntypedEventAdapter.dispatchEvent(UntypedEventAdapter.java:646)
at org.eclipse.swt.internal.widgets.UntypedEventAdapter.widgetSelected(UntypedEventAdapter.java:90)
at org.eclipse.swt.events.SelectionEvent.dispatchToObserver(SelectionEvent.java:191)
at org.eclipse.rwt.internal.events.Event.processEvent(Event.java:46)
at org.eclipse.swt.events.TypedEvent.processEvent(TypedEvent.java:186)
at org.eclipse.swt.events.TypedEvent.executeNext(TypedEvent.java:208)
at org.eclipse.swt.widgets.Display.runPendingMessages(Display.java:1145)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1135)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2733)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2694)
at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2530)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:702)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:685)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
at com.hangum.db.browser.rap.Application.createUI(Application.java:29)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:177)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:289)
at java.lang.Thread.run(Unknown Source)
at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:101)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(id' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4098)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4030)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2134)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1369)
at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:62)
at $Proxy2.execute(Unknown Source)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:185)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189)
... 37 more

Please provide any additional information below.
Format SQL을 하면 테이블명 뒤에 "("가 바로 붙어버립니다. 이게 문제의 시작이겠네요.

사용자 관리 보완.

사용자 목록에 동일한 그룹의 사용자만 조회되도록 한다면..

사용자 등록시 동일한 이메일 존재여부를 같은 그룹에서만 검사하도록 했으면 함..

그리고 사용자 삭제기능은?? 사용여부로만 처리하나? 그러면..다른 그룹의로 등록이 안됨...그래서 그룹별 사용자 등록이 되어야함..^^;

Tadpole tutorial

I've created Tadpole SQL Client Tutorial. Please see. If you have remarks, let me know.

You can also link to this tutorial from README in Github or Google Code. When "User Management" feature will be ready, I can write another tutorial for Tadpole.

테이블 목록을 더블클릭하여 표시되는 데이터 에디터 오류.

win7 32bit, chrome 카나리, sqlite local db

  1. 테이블 목록을 더블클릭한다.
  2. 데이터 목록이 표시된다.
  3. 상단 Insert를 클릭한다....(save버튼이 활성화 되긴 하나 화면상으로 보기에는 insert에 대한 추가액션이 없는것처럼 보여짐...)
    (스크롤을 자동으로 해서 새로 추가된 행에 포커스가 되도록 해야할것 같음...)
  4. 그리드를 스크롤해서 rowtype에 insert라고 표시된 행을 선택하면 바로 윗 행의 자료가 기본값으로 표시되나 해당 내용을 수정하고 다른 컬럼으로 이동하면 바로 윗 행이 update라고 표시된다...ㅡㅡ; 이건 뭔지...ㅋ
  5. 그리고 맨 아랫줄은 계속 insert라고 표시만 될뿐 실제 새로운 데이터 입력이 안된다...

이상.

How to log out?

I do not see a Log out button. Only see Exit Server which completely shuts down Tadpole server. I want to simply log out from Manager and login to Guest or as another user. How can I do that?

mysql에 테이블 코멘트를 볼수 있는 기능이 있으면 좋겠습니다.

mysql 테이블의 코멘트를 볼수 있는 기능이 있으면 좋겠습니다.

현재 뷰에서 코멘트 없이 나오는데 테이블 코멘트와 컬럼 코멘트를 조회 할수 있는 쿼리가 있습니다.

이 기능이 꼭 있었으면 좋겠습니다.

SELECT table_comment
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_name='tabel name';

SELECT TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,ORDINAL_POSITION,COLUMN_DEFAULT
,DATA_TYPE,COLUMN_TYPE,COLUMN_KEY,EXTRA,COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='db name' AND TABLE_NAME='table name';

다량의 레코드를 리턴하는 경우 발생하는 오류.

버그, 이슈 등록하기AutoCommit : TrueWritableSmart InsertdrerpFilterTablesViewsIndexesProceduresFunctionsTriggersYT_JBS_FILEYT_JBSYS_TEMP2YS_TEMPYDP_TEMPYDPTMPV_YESAN_ACCEPTV_YESANV_WEB_MEIPV_TPBV_TIS_USENEWV_TAX_JUNP NameAVARCHAR2(50)YESBVARCHAR2(50)YESCVARCHAR2(50)YESDVARCHAR2(50)YESEVARCHAR2(1)YESFNUMBER(22)YESGNUMBER(22)YESHNUMBER(22)YESINUMBER(22)YESJNUMBER(22)YES FieldTypeKeyNullDefaultExtraCUBRIDMONGODBMySQLMSSQLOracledrerp (drerp@doore)drerpSQLite*drerpExecute(Ctrl+e, Command+e)Execute ALLExecute PlanFormat SQLSQL to ApplicationResult SetQuery HistoryTadpole MessageFilter PrevNextExport CSV Data Complete Connection ManagerObject ExplorerOutlinedrerpSELECT * FROM ACSEHT a, CMDEPT..._date BETWEEN '0' AND '20120716'Always run in backgroundRun in BackgroundCancelDetails >>
Could not process server response:

Error: SyntaxError: Unexpected end of input

Stack: SyntaxError: Unexpected end of input
at Object.parse (native)
at qx.Class.define.members._handleCompleted (http://127.0.0.1:10081/rwt-resources/rap-client-beee12d3.js:145:3365)
at qx.Class.define.members._dispatchEvent (http://127.0.0.1:10081/rwt-resources/rap-client-beee12d3.js:17:2060)
at qx.Class.define.members.dispatchEvent (http://127.0.0.1:10081/rwt-resources/rap-client-beee12d3.js:17:1445)
at qx.Class.define.members._oncompleted (http://127.0.0.1:10081/rwt-resources/rap-client-beee12d3.js:118:2333)
at qx.Class.define.members._oncompleted (http://127.0.0.1:10081/rwt-resources/rap-client-beee12d3.js:110:1776)
at qx.Class.define.members._dispatchEvent (http://127.0.0.1:10081/rwt-resources/rap-client-beee12d3.js:17:2060)
at qx.Class.define.members.dispatchEvent (http://127.0.0.1:10081/rwt-resources/rap-client-beee12d3.js:17:1445)
at qx.Class.define.members._applyState (http://127.0.0.1:10081/rwt-resources/rap-client-beee12d3.js:111:6067)
at eval [as setState](eval at %28http://127.0.0.1:10081/rwt-resources/rap-client-beee12d3.js:12:6083%29, :2:394)
Debug: off
Request: w1.cursorLocation.x=382&w1.cursorLocation.y=64&uiRoot=w1&requestCounter=232

오브젝트 필터 기능 보완.

가장 마지막 filter입력내용이 직접 지우기 전까지는 사용자 db에 저장되면 좋겠네요..

필터 입력하면 기본값은 입력된 문자열로 시작하는 오브젝트를 보여주고..

필터 내용에 * 또는 %를 입력한 경우에만 해당 문자열이 포함되는 모든 오브젝트를 표시하는 방법이 바람직해 보입니다..^^

java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp

http://code.google.com/p/tadpole-for-db-tools/issues/detail?id=17

테이블 내용이 표시되어야 하는데, 오류가 발생.
datetime 컬럼에 0000-00-00 00:00:00 이 들어있는데 이것때문에 문제가 발생하나 봅니다.

java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.ResultSetImpl.getTimestampFromString(ResultSetImpl.java:6172)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5748)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5569)
at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:175)
at com.hangum.db.browser.rap.core.editors.table.TableViewerEditPart.runSQLSelect(TableViewerEditPart.java:400)
at com.hangum.db.browser.rap.core.editors.table.TableViewerEditPart.initBusiness(TableViewerEditPart.java:320)
at com.hangum.db.browser.rap.core.editors.table.TableViewerEditPart.createPartControl(TableViewerEditPart.java:287)

SQL History 보관기능.

SQL History는 다른 DBMS로 넘어갔다 오면 삭제 되네요..

몇일 혹은 몇건 범위 내에서 저장이 되었으면 좋겠습니다. ^^;

그리고 삭제 하도록 되어 있더라도 당일 (24시간 이내 )정도는 다른 디비로 변경해서 작업하러 갔다 와도 남아 있어야 할듯 합니다.

여러 디비 붙어서 작업할수 있는데 다른 디비 정보 조회하러 갔다왔는데 HISTORY 지워져 있으면 좀 난감할것 같네요..^^;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.