728x90

DBeaver 커뮤니티 에디션에서 기본 제공하지 않는 Cassandar 접속 방법

 

Setting up Cassandra JDBC Driver in DBeaver Community Edition

DBeaver is a widely used cross-platform database management application catered to developers, administrators, and analysts looking for efficient ways to work with their data. It supports many popular databases like MySQL, PostgreSQL, SQL Server, and more.

DBeaver comes in two flavors:

  • DBeaver Community Edition - the free and open-source version, offering built-in support for over 80 popular databases and a top-notch SQL editor.
  • DBeaver PRO - the commercial version with advanced features for exploring, processing, and managing SQL, NoSQL, and cloud data sources, including a visual query builder, an SQL AI assistant, and many other cutting-edge development tools.

All in all, DBeaver CE is an excellent database management solution. Supporting so many databases out of the box gives you an excellent opportunity to streamline your workflow and manage all of your database connections through a single desktop application, regardless of the underlying database vendor.

However, if you use Apache Cassandra and want to connect to Cassandra using DBeaver, you will immediately discover that the Community Edition doesn't seem to support this use case out of the box. But the good news is that DBeaver can actually access any database that has a compatible JDBC driver.

So in this article, I will show you how to connect to Cassandra with DBeaver using a Cassandra JDBC driver.

Download Cassandra JDBC Driver

Cassandra JDBC Driver 파일

 

cassandra-jdbc-wrapper-4.13.1-bundle.jar
17.43MB

 

Database vendors typically provide JDBC drivers to enable software engineers to interact with their databases, and DataStax (one of the largest contributors to the open-source Cassandra project) used to distribute the Simba JDBC driver for Apache Cassandra as a free download on their website at https://downloads.datastax.com/#odbc-jdbc-drivers.

For a long time, this driver was the de facto standard JDBC driver for Cassandra. However, at the time of this writing, the Simba JDBC driver is no longer available for download on the DataStax website.

Fortunately, the folks from ING Bank have developed a working alternative by wrapping the DataStax Java Driver for Apache Cassandra into a simple JDBC-compliant API that works perfectly with CQL3.

To download their driver:

1. Go to https://github.com/ing-bank/cassandra-jdbc-wrapper and navigate to "Releases"

2. Download the cassandra-jdbc-wrapper-4.9.0-bundle.jar file (the latest version of the driver at the time of this writing)

Add Cassandra JDBC Driver to DBeaver

1. Open DBeaver and from the Menu navigate to Database -> Driver Manager.

2. Select "New" to define a new Driver.

3. Fill in the form for creating a new driver as follows: 

Driver Name: Cassandra
Class Name: com.ing.data.cassandra.jdbc.CassandraDriver
URL Template: jdbc:cassandra://{host}[:{port}]
Default Port: 9042

4. Navigate to the Libraries tab and add the JAR file containing the Cassandra JDBC driver that we just downloaded.

5. Click "OK" and Cassandra should now be listed under the available drivers.

Connect to Cassandra

1. Start a local Cassandra instance with Docker.
    docker run --rm -p 9042:9042 cassandra:latest

2. Click on "New Database Connection" to create a new connection.

3. Type in "Cassandra" and select the matching database driver that we just created, then click "Next".

4. Fill in the JDBC connection settings.

Connect by: URL
JDBC URL: jdbc:cassandra://localhost:9042?localdatacenter=datacenter1

The ?localdatacenter part is important (assuming you have started the Cassandra Docker container with the default settings) as without it you wouldn't be able to issue commands against your Cassandra cluster.

5. Click "Test Connection" and then "OK" when the test is successfull - you should now be able to execute commands against your test cluster.

Execute a Cassandra CQL Query

1. Open a new SQL editor window.

2. Paste the following query in the SQL editor and execute it.

CREATE KEYSPACE testing
  WITH REPLICATION = { 
   'class' : 'SimpleStrategy', 
   'replication_factor' : 1 
  };

3. You have successfully created a new keyspace named testing in your local Cassandra cluster.

 
728x90
728x90

ERWin에 ODBC 접속을 해서 오픈된 ERD 파일에 대해 쿼리로 조회가 가능합니다.

 

< 조회 방법 >

1. ERWin을 실행하고 ERD 파일을 오픈한다.

2. Toools 메뉴에서 Query Tool... 을 선택하면 팝업창이 뜬다.


 

3. 팝업창의 tool bar 아이콘중 네번째 아이콘(Connect to ERWin ODBC)을 선택한다.

4. 에디터 창에 아래 내용을 입력한다.

 

SELECT A.NAME, A.DEFINITION AS ENTITY_DEFINITION
      ,A.NOTE AS ENTITY_NOTE
      ,B.NAME AS ATTRIBUTE_NAME, B.PHYSICAL_DATA_TYPE, CASE B.NULL_OPTION_TYPE WHEN 1 THEN 'NOT NULL' END NULLABLE
      ,CASE B.TYPE WHEN 0 THEN 'PK' END PK_YN
      ,C.NAME AS DOMAIN_NAME, c.logical_data_type AS domain_data_type
      ,B.DEFINITION AS ATTRB_DEFINITION,B.ATTRIBUTE_ORDER
      ,A.PHYSICAL_NAME AS TABLE_NAME, B.PHYSICAL_NAME AS COLUMN_NAME
      ,B.LOGICAL_DATA_TYPE
      ,B.IS_LOGICAL_ONLY
      ,B.IS_PHYSICAL_ONLY
  FROM M0.ENTITY A
  JOIN M0.ATTRIBUTE B ON (A.ID@ = B.OWNER@)
  JOIN M0.DOMAIN C ON (C.ID@ = B.PARENT_DOMAIN_REF)
 WHERE 1=1
AND B.ATTRIBUTE_ORDER IS NOT NULL
 ORDER BY A.NAME,B.ATTRIBUTE_ORDER

 

5. 우측에서 두번째의 Execute 버튼을 클릭하여 쿼리를 수행한다.

6. 에디터 창의 오른쪽 위에 저장버튼을 눌러 csv 형태로 저장하고 엑셀에서 확인한다.

 

※ ERD에서 물리명이 한글인것, ERD에서 복사해서 사용하다보니 중복된 엔터티나 테이블이 있는가 등을 조회할때 유용하게 쓸 수 있다.

 

 

< ERD 에서 엔터티 중복건을 찾아 볼 수 있다. >

SELECT NAME, COUNT(1) AS CNT
  FROM ENTITY
 GROUP BY NAME
HAVING COUNT(1) > 1
ORDER BY NAME;



< ERD 에서 테이블 중복건을 찾아 볼 수 있다. >

SELECT PHYSICAL_NAME, COUNT(1) AS CNT
  FROM ENTITY
 GROUP BY PHYSICAL_NAME
HAVING COUNT(1) > 1
ORDER BY PHYSICAL_NAME;

 

 

출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=noranja69&logNo=220477682430 

 

ERWin 모델을 Query로 조회해보자

ERWin에 ODBC 접속을 해서 오픈된 ERD 파일에 대해 쿼리로 조회가 가능합니다. < 조회 방법 &...

blog.naver.com

 

728x90
728x90

이번에 7.3 으로 ER Win Version UP 했숨다~! 그거에 맞춰서 DB Oracle 에는 테이블에 Comment 컬럼이 있어요.
토드에서 테이블명 입력 후 F4 키를 누르시면 Table Description 을 볼 수 있습니다



이제 저녀석을 Reverse 해서 저 Comment 값을 Logical 로 변경하는 ER Win 작업을 해 보겠습니다.



* Reverse Engineer 를 사용하여 DB 내용 값을 긁어오기

1. Tools - Reverse Engineer.. 를 선택합니다.



2. 어떤 타입의 DB 내용과 Logical 도 함께 긁어올 것인지 Physical 만 긁어 올 것인지 선택합니다.

 Oracle 10g 이므로 Oracle 을 선택 하였습니다 ^^
Next 를 누릅니다.



3. Option 을 선택 합니다.

전, 선택된 사용자만 가져올 것이기 떄문에 Owners 를 선택하여 사용자 스키마 명을 써 주었습니다

Infra 탭에서는 Primary Key(주키) 값 과 Relations (관계) 를 함께 보여줄 것이기 떄문에 체크 합니다.
Physical 및 Logical 의 이름은 모두 대문자로 볼 것 이기 떄문에 UPPER 를 선택하였습니다.

설정이 끝나면 Next 누릅니다.



4. Oracle Connection 화면 창이 뜨네요.

Database : Oracle 10g/11g  (오라클 10g 이므로..)
Authentication : Database Authentication ( 디비 사용자 할꺼임 -0-)
User Name : 사용자 명
Password : 패스워드

Connection String : SID
 명(자기 로컬일 경우)을 써 줍니다.

외부 데이터로 붙을 때에는  Connection String : nerv.kr/xe 이런식으로 써 줍니다.

< 이전 ERWin 4.1 버전에는 ip 주소 까지 써주었는데... 이번 7버전은 없네요 -_-;;;
tns.ora 파일에서 설정해 준 값으로 가나 봅니다..>

설정이 끝나면 Connect 를 누릅니다.



5. Reverse Engineer 의 상태 값이 뜨네요... 막~ 읽힐꺼예요.. 조금 시간적 여유를 가지세요! ^-^



6. 중간 중간 물어봅니다. 아까 Infra 탭에서 Primary Key 와 Relation 에 대한걸 물어보네요... Yes 를 누릅니다.



7. 쨔-잔~!! ERD 가 뽑아져 나왔네요! ^-^




자, 바로 이어서 Logical 을 Comment 로 바꾸는거 나갑니다~! ^-^



* ERD Comment 를  Logical 로 변경하기

8. Logical 로 변경할 테이블을 선택 합니다.
(선택하면 아래처럼 빨간 네모 박스처럼 선택된 테이블은 윗대가리가 까맣네요! ^-^)
전체 선택 할꺼면 Ctrl + A



9. 다음엔 무슨작업을 할꺼냐면... 중요!!!!!!!!

Logical 변경 값에 따라 Physical 값도 같이 변경 되기 때문에 둘을 분리 하는 작업입니다.
위에서 테이블을 선택 한 다음 마우스 오른쪽을 누른 후 Harden Physical Names 를 선택합니다.

그럼 Logical 이름과 Physical 이름이 따로 가게 됩니다 ^^



상태 창에 다음과 같은  Action 이 쭈욱~ 떨어지게 됩니다 ^^



10. 뭐가 변경되었는지 궁금하신지 보여 드리겠습니다.

Model - Columns.. 를 선택합니다.



11. Rename  을 선택합니다.



12. Harden Physical Names 을 선택 하기 이전에는 다음과 같이 Attrivute* 이렇게 " * " 표시 모양이 있는데 Harden Physical Names  을 선택한 후에는 " * " 표시가 없습니다 ^^

변경전 >>



변경후>>



13. Physical 을 Logical 로 변경 합니다 (단축기는 Ctrl + Up & Down)



14.  Model - Domain Dictionary .. 를 선택합니다.



15. 
Edit Mode  : Logical
Name Inherited by Attribute:* : %ColumnComment 
로 설정 합니다.

물리 테이블에 comment가 없는 경우 영문컬럼명 사용

Name Inherited by Attribute:* : 
%if(%>(%Len(%ColumnComment),0)){%ColumnComment}%ELSE{%ColName}

로 설정 합니다.


Name Inherited by Attrbute 의 값은 Macro Toolbox 를 누르면 선택이 가능합니다.



Attribute Macro  에 보면,



%ColumnComment 를 선택 한 후 Insert Macro 한 후 Close  합니다.



16.  다음과 같이 %ColumnComment 만을 남겨두고 %AttDomain 이 남아 있다면 지우고 OK 를 누릅니다. ^^



17. Model - Attributes.. 를 선택 합니다. (계속 Logical 모드임)



18. 메시지가 뜨네요~! ^^ 확인을 누릅니다.



19. Reset 을 누릅니다.




20.

Resetting Attribute : Reset all attributes in model  (ERD 전체 변경)
Select Properties to Reset : Name

을 선택 한 후 OK 를 누릅니다.

Only attribute PAGE_COMPONENT_ID 라고 되어 있는건
: (해당 컬럼 값의 속성만 변경 - PAGE_COMPONENT_ID 컬럼 )
All attribute of entity PAGE_COMPONENT 라고 되어 있는건
: (해당 테이블에 속해있는 속성만 변경 - PAGE_COMPONENT 테이블)



21. 테이블 내에서 중복되는 이름(Comment) 에 대해서 나옵니다.
이때 Help 는 누르면 자세한 도움말을 볼 수 있습니다. (Ok, cancle, rename 에 관하여 영문 설명이 나옵니다)
(중복 안되게 변경해 주면 됩니다)



22. 이름으로 변경 된 화면을 감상 하실수 있습니다 ^-^ OK 를 눌러주세요!



23. Logical 일때의 모습입니다.



24. Physical 일때의 모습입니다.



테이블 명은 안바뀌는게 조금 아숩네요 -ㅅ-
혹, 테이블 명도 Comment 로 변경되는걸아시는분은 댓글 남겨 주세요~! ^_^

Comment 로 변경 안되더라도, 생 작업으로 변경 해 보도록 하겠습니다.


25. Model - Attribute 를 선택합니다.
Entity 에 변경할 테이블을 선택 한 후 Entity 이름 옆의 .... 를 누릅니다.



26. Name 이 있죠?!
 Name 을 한글로 변경 한 후 OK 누르시면 됩니다 ^-^

 

출처: https://joke00.tistory.com/168

728x90
728x90

log4j 스캐너

 

1. python 설치

cmd > python

 

2. 모듈설치

pip3 install requests

pip3 install termcolor

pip3 install PyCryptodome

 

3. log4j-scan

python3.10 log4j-scan.py -u "대상 url"

 

4. cryto 오류 발생시

sys.modules['Crypto'] = crypto

 

https://github.com/fullhunt/log4j-scan

 

 

728x90
728x90

 

알티베이스

 

connectionstring : jdbc:Altibase://ip:port/db

 

 

큐브리드

 

connectionstring : jdbc:cubrid:ip:port:db:::?charset=UTF-8

 

cubrid-10.2.1.8849-cubrid.jar
0.25MB

728x90
728x90

1. JDK 설치

2. SonarQube설치

환경정보 설정, <sonarqube_home>/conf/sonar.properties 파일 수정

Web Server 설정 : sonar.web.host , sonar.web.context , sonar.web.port 주석 해제 후 편집

sonar.web.host=127.0.0.1

sonar.web.context=/sonarqube

sonar.web.port=9000

Sonar 서비스 실행

<sonarqube_home>/bin/〈사용자 OS>/StartSonar.bat를 실행

웹 브라우저에 접속

http://localhost:9000/sonarqube (로그인 ID/PW : admin/admin )

3. SonarQube Scanner 설치

PC 의 환경변수에 SonarQube Scanner 의 bin 폴더를 등록

SonarQube Runner 환경 설정

설치폴더₩confWsonar-scanner.properties 파일을 수정

Sonar Server 에 셋팅한 값과 동일하게 sonar.host.url값을 수정

sonar.host.url=http://localhost:9000/sonarqube

4. 소스코드 정적 분석 실행

프로젝트 분석설정정보 셋팅

해당 소스가 존재하는 폴더에 sonar-project.properties 파일을 열어서 내용 수정

projectKey, projectName, projectVersion 정보

소스코드 위치, 언어종류,Encoding 방식

프로젝트 분석

cmd 창 실행해서 해당 소스가 존재하는 폴더 이동

해당 프로젝트 폴더에서 "sonar-scanner" 실행

728x90

+ Recent posts