Tüm Ürünler
Search
Belge Merkezi

Dataphin:JDBC ile Dataphin'e Bağlanma

Son Güncelleme:Oct 04, 2026

JDBC sürücüsü kullanarak Dataphin'e nasıl bağlanacağınızı öğrenin.

Önkoşullar

JDBC sürücüsünü kullanmadan önce Dataphin OpenAPI özelliğini etkinleştirmeniz gerekir.

Genel Bakış

  • İki kimlik doğrulama modu: Dataphin JDBC sürücüsü basit mod ve proxy mod olmak üzere iki kimlik doğrulama modunu destekler. Daha fazla bilgi için bkz. Kimlik doğrulama modları.

  • Tutarlı yürütme sonuçları: Dataphin JDBC sürücüsüyle bir SQL ifadesini çalıştırmak, bunu Dataphin konsolunda çalıştırmaya eşdeğerdir. Bu nedenle yürütme sonuçları tutarlıdır. İzinler, veri maskeleme kuralları, güvenlik ayarları ve kod standartları gibi Dataphin'de yapılandırılan özellikler, Dataphin JDBC sürücüsünün yürütme sonuçlarını da etkiler.

Sınırlamalar

  • Tüm hesaplama motorlarından ve bazı veri kaynaklarından Dataphin'e JDBC ile bağlanabilirsiniz. Desteklenen veri kaynakları arasında MySQL, Oracle, MaxCompute, Hive, AnalyticDB for MySQL 3.0, StarRocks, AnalyticDB for PostgreSQL ve Doris bulunur.

  • Dataphin JDBC sürücüsüyle bir SQL ifadesi çalıştırdığınızda Dataphin; SQL çevirisi ve veri maskeleme gibi görevler için ifadeyi ön işlemden geçirir. Sonuç verileri de Dataphin üzerinden iletilip yönlendirilir. Bu süreçler performans ek yüküne neden olabilir ve sorgu sürelerinin hesaplama motoruna doğrudan sorgu yapmaya kıyasla daha uzun olmasına yol açabilir.

  • Dataphin JDBC sürücüsü, SQL ifadelerini işlemek amacıyla OpenAPI aracılığıyla Dataphin'e gönderir; bu ifadeler ardından alttaki hesaplama motoruna iletilir. Dataphin JDBC sürücüsünü kullanmadan önce beklenen çağrı hacmini değerlendirmeniz ve Dataphin kümeniz ile hesaplama motorunuz için yatay ölçeklendirme gerekip gerekmediğine karar vermeniz gerekir.

    Not

    Bu değerlendirmeyi gerçekleştiremiyorsanız Dataphin kümeniz için kapasite değerlendirme talebini Dataphin İşletim ve Bakım ekibine iletebilirsiniz. Bu talep hesaplama motoru için kapasite değerlendirmesini kapsamaz.

  • Dataphin şu anda trafik kontrolü veya eşzamanlılık kontrolünü desteklememektedir. Olası etkileri dikkatlice değerlendirin.

JDBC sürücü sürümü ve indirme bağlantısı

Sürücü JAR paketini edinmek için Dataphin İşletim ve Bakım ekibiyle iletişime geçin.

Bağlantı parametreleri

Not

Dataphin JDBC proxy modunda platform AccessKey ID'si ve AccessKey Secret'ını kullandığında erişim kullanıcısını ayarlamak için set sözdizimini kullanabilirsiniz.

  • set dp_delegation_uid = 'target_source_user_uid';

  • set dp_delegation_name = 'target_user_name';

JDBC URL biçimi: jdbc:dataphin://host:port/catalog?[tenant_id=TenantID][&ssl=true][&log_level=Log_Level][&user=UserName][&password=PassWord][&delegation_uid=DelegationUid][&account_type=AccountType][&connect_timeout=ConnectTimeout][&engine=engine_type][compute_project=ProjectName]

Önemli
  • Parametre adları büyük/küçük harfe duyarlıdır.

  • Köşeli parantezler ([]) yalnızca gösterim amaçlıdır ve gerçek bağlantı dizesinden çıkarılmalıdır.

Parametre

Zorunlu

Açıklama

Örnek

host

Evet

Dataphin OpenAPI alan adı.

Alan adını aşağıdaki şekilde gösterildiği gibi Kişisel Merkez'deki AccessKey Yönetimi sayfasındaki OpenAPI çağrı adresi bölümünden edinebilirsiniz:

image

dataphin-openapi.****.aliyun.com

port

Hayır

Bağlantı noktası, Dataphin OpenAPI için HTTPS'nin etkin olup olmamasına göre belirlenir. HTTPS etkinse bağlantı noktası 443 olur. Aksi takdirde varsayılan olarak 80 kullanılır.

80

catalog

Evet

Varsayılan sorgu kapsamı.

  • Bir Dataphin fiziksel tablosu kullanmak için Dataphin projesinin İngilizce adını (project_name) belirtin.

  • Bir Dataphin mantıksal tablosu kullanıyorsanız Dataphin veri panosunun İngilizce adını girin (LD_ ile başlar).

  • Dataphin tarafından yönetilen bir veri kaynağı tablosu kullanmak için Dataphin'de yapılandırılan veri kaynağı kodunu girin (ds_ ile başlar).

Not
  • Varsayılan sorgu kapsamı bir veri bloğu ise compute_project parametresi gereklidir.

  • Varsayılan sorgu kapsamı Dataphin tarafından yönetilen bir veri kaynağından gelen bir tablo ise compute_project belirtmenize gerek yoktur.

Exprojectname

tenant_id

Evet

Sorgulanacak kiracı kimliği.

111***111

ssl

Hayır

HTTPS kullanılacağını belirtir.

  • True: Bir HTTPS alan adı kullanın.

  • False: Bir HTTP alan adı kullanın. Varsayılan değer False'tur.

False

currentschema

Hayır

Veri kaynağının şeması.

  • Catalog bir Dataphin fiziksel veya mantıksal tablosu kullanıyorsa bu parametreyi belirtmeniz gerekmez.

  • Catalog'ta kullanılan veri kaynağı MySQL gibi şemaları desteklemiyorsa bu parametreyi belirtmeniz gerekmez.

  • Catalog'ta kullanılan veri kaynağı Oracle gibi şemaları destekliyorsa bu parametre isteğe bağlıdır.

    • Bir şema belirtirseniz o şemadan veriler sorgulanır.

    • Bir şema belirtmezseniz veritabanının varsayılan şeması sorgulanır.

information_schema

compute_project

Hayır

Projenin İngilizce adını belirtin. Bu proje SQL sorgusunu yürütür. Projenin ve buna bağlı hesaplama motorunun sorgulanan tablolar üzerinde okuma iznine sahip olması gerekir.

  • Belirtilen sorgu kapsamı bir Dataphin projesiyse bu parametre isteğe bağlıdır. Bu parametreyi belirtmezseniz varsayılan sorgu kapsamında belirtilen proje SQL ifadesini yürütmek için kullanılır.

  • Belirtilen sorgu kapsamı bir Dataphin veri bloğuyse bu parametre gereklidir.

  • Belirtilen sorgu kapsamı bir Dataphin veri kaynağıysa bu parametreyi belirtmeniz gerekmez.

Exprojectname

user

Evet

Bir kullanıcının veya platformun AccessKey ID'si. Proxy modunu kullanırken platformun AccessKey ID'sini belirtin.

  • Platform AccessKey ID'sini edinmek için Dataphin İşletim ve Bakım ekibiyle iletişime geçin.

  • Bir kullanıcının AccessKey ID'sini Kişisel Merkez'deki AccessKey Yönetimi sayfasından edinebilirsiniz.

kIBPT0

log_level

Hayır

Günlük düzeyi. Geçerli değerler:

  • DEBUG

  • INFO

  • WARNING

  • ERROR

DEBUG

password

Evet

Belirtilen kullanıcı için AccessKey Secret.

  • Platform AccessKey'i edinmek için Dataphin İşletim ve Bakım ekibiyle iletişime geçin.

  • Bir kullanıcının AccessKey ID'sini Kişisel Merkez'deki AccessKey Yönetimi sayfasından edinebilirsiniz.

Cy****r2T

delegation_uid

Hayır

Proxy modunda bu parametre taklit edilecek Dataphin kullanıcısını belirtir.

Proxy yapılan Dataphin kullanıcısı için seçilen account_type değerine göre ilgili hesap kimliğini sağlamalısınız. Bu parametrenin ayarlanması proxy modunu etkinleştirir.

999***999

account_type

Hayır

Kimlik doğrulama için proxy modunu kullanırken proxy yapılan kullanıcının hesap türünü belirtmeniz gerekir.

  • ACCOUNT_NAME: Dataphin'deki kullanıcı adı. Uygulama kullanıcı adı Dataphin kullanıcı adıyla aynı olduğunda bu mod önerilir.

  • USER_ID: Dataphin'deki benzersiz dahili kimlik. Bu mod genellikle önerilmez.

  • SOURCE_USER_ID: Kaynak sistemdeki hesap kimliği. Dataphin RAM, SAML veya OAuth gibi Tek Oturum Açma (SSO) kimlik doğrulaması için yapılandırıldığında kullanılabilir. Bu, Kimlik Sağlayıcı (IdP) üzerindeki kullanıcının hesabıdır.

Not
  • Bu parametre yalnızca delegation_uid ayarlandığında gereklidir.

    Bu parametre belirtilmezse varsayılan tür USER_ID olur.

  • Yinelenen kullanıcılar varsa kimlik doğrulama başarısız olur.

USER_ID

connect_timeout

Hayır

Saniye cinsinden bağlantı edinme zaman aşımı.

  • 0'dan büyük: Saniye cinsinden zaman aşımı. Minimum değer 10'dur.

  • 0'a eşit veya küçük: Süresiz bekle.

10

engine

Hayır

Oturumda veya bağlantı dizesinde project_name ile belirtilen proje için hesaplama motoru. Hadoop hesaplama motoru için varsayılan motor Hive'dır ancak bu parametreyi kullanarak Impala veya Spark olarak ayarlayabilirsiniz. Motor türü hesaplama motorunda önceden yapılandırılmış olmalıdır. Belirtilen motor proje tarafından desteklenmiyorsa bu ayar yoksayılır ve bir uyarı döndürülür. Geçerli değerler:

  • MaxCompute

  • Hologres

  • Hive

  • Impala

  • Inceptor

  • ArgoDB

  • Spark

Not

Bir veri kaynağına erişirken bu parametre yoksayılır.

MaxCompute

acceleration_source

Hayır

Hızlandırma kaynağını belirtir. Kiracı içindeki herhangi bir hızlandırma kaynağının kodunu seçebilirsiniz.

starrocks_code

acceleration_resource_group

Hayır

Hızlandırma kaynak grubu. Seçilen hızlandırma kaynağı için yapılandırılmış bir kaynak grubunu seçebilirsiniz.

starrocks_resource_group

Kimlik doğrulama modları

Basit mod

Kullanıcı adını kullanıcının AccessKey ID'sine ve parolayı kullanıcının AccessKey Secret'ına ayarlayın. Bu işlem bağlantının söz konusu kullanıcı olarak kimliğini doğrular. AccessKey'inizi görüntülemek için bkz. Dataphin OpenAPI AccessKey Yönetimi.

JDBC sürücüsü aracılığıyla Dataphin'e eriştiğinizde Dataphin AccessKey'i doğrular ve istenen kaynaklar veya SQL ifadeleri için kullanıcıyı yetkilendirir. Ardından Dataphin SQL ifadesini o kullanıcı olarak yürütür.

image

Proxy modu

Önemli

Proxy modunu kullanmadan önce bu özelliği etkinleştirmek ve yapılandırmak için Dataphin İşletim ve Bakım ekibiyle iletişime geçmeniz gerekir.

Proxy modu genellikle Dataphin ile sistem düzeyinde entegrasyonlar için kullanılır. Bu yöntem bireysel kullanıcılar için AccessKey dağıtımını veya yapılandırmasını önler. İşlemlerin o kullanıcının izinlerine göre yetkilendirilmesini sağlamak için bağlantı dizesinde (JDBC URL) proxy yapılacak kullanıcıyı belirtebilirsiniz. Platform düzeyindeki bir AccessKey yüksek ayrıcalıklara sahiptir ve herhangi bir kullanıcıyı proxy yapabilir. Örneğin istemci bir platform AccessKey'i kullanıyorsa userA bağlanırken delegation_uid=userA olarak ayarlayın. Dataphin ardından bağlantı için userA kimliğini taklit eder ve izin kontrollerini o kullanıcının profiline göre gerçekleştirir.

image

Dataphin sürücüsü

com.aliyun.dataphin.jdbc.DataphinDriver

API

Açıklama

Tanım

connect

Bir veritabanı bağlantısı kurar.

Connection connect
(String url, Properties
info) throws 
SQLException;  

acceptsURL

URL'nin desteklenip desteklenmediğini denetler.

boolean acceptsURL(String url) 
throws SQLException;

com.aliyun.dataphin.jdbc.DataphinConnection

API

Açıklama

Tanım

createStatement

Bir Statement nesnesi oluşturur.

Statement createStatement
(int resultSetType, 
int resultSetConcurrency)
throws SQLException;

prepareStatement

Bir PreparedStatement nesnesi oluşturur.

PreparedStatement prepareStatement(String sql, int resultSetType,int resultSetConcurrency)throws SQLExcept;
PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability);

com.aliyun.dataphin.jdbc.DataphinStatement

API

Açıklama

Tanım

executeQuery

Bir SQL ifadesini yürütür ve bir ResultSet nesnesi döndürür.

ResultSet executeQuery
(String sql) throws 
SQLException;

setFetchSize

Tek bir toplu işte veritabanından alınacak satır sayısını belirtir. Bu parametre ayarlanmazsa veya 0 olarak ayarlanırsa varsayılan olarak 1000 kullanılır.

void setFetchSize(int rows) 
throws SQLException

cancel

Statement nesnesinin yürütülmesini iptal etmeye çalışır.

void cancel() 
    throws SQLException;

com.aliyun.dataphin.jdbc.DataphinPrepareStatement

API

Açıklama

Tanım

executeQuery

Bir SQL ifadesini yürütür ve bir ResultSet nesnesi döndürür.

ResultSet executeQuery
(String sql) 
throws SQLException;

com.aliyun.dataphin.jdbc.DataphinResultSetMetaData

API

Açıklama

Tanım

getColumnCount

Sonuç kümesindeki sütun sayısını alır.

int getColumnCount() 
throws SQLException;

getColumnName

Sonuç kümesindeki bir sütunun adını alır.

String getColumnName(int column) throws SQLException;

com.aliyun.dataphin.jdbc.ResultSet

API

Açıklama

Tanım

next

İmleci ResultSet nesnesindeki sonraki satıra taşır.

boolean next() 
    throws SQLException;

com.aliyun.dataphin.jdbc.DatabaseMetaData

API

Açıklama

Tanım

getTables

Tablo bilgilerini alır.

  • Parametreler:

    • catalog: Varsayılan değer default'tur.

    • schemaPattern: Proje adı veya veri bloğu adı.

    • tableNamePattern: Tablo adı. Bulanık eşleşme desteklenir. Düzenli ifadeler desteklenmez.

    • types: Bu parametre desteklenmez.

  • Sonuç:

    • Sonuç bir ResultSet nesnesidir.

    • ResultSet içindeki her satır bir tabloyu tanımlar. ResultSet üzerinde next() kullanarak yineleme yapabilirsiniz. Her satırdan yalnızca tablo adı alınabilir.

  • Tablo adını alma:

    • resultSet.getString("table_name")

getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException 

getColumns

Bir tablo için sütun bilgilerini alır.

  • Parametreler:

    • catalog: Proje adı veya veri bloğu adı.

    • schemaPattern: Bu parametre desteklenmez.

    • tableNamePattern: Tablonun tam adı. Bulanık eşleşme ve düzenli ifadeler desteklenmez.

    • columnNamePattern: Bu parametre desteklenmez.

  • Sonuç:

    • Sonuç bir ResultSet nesnesidir.

    • ResultSet içindeki her satır bir tablo sütununu tanımlar. ResultSet üzerinde next() kullanarak yineleme yapabilirsiniz. Her satırdan yalnızca sütun adı ve veri türü alınabilir.

  • Sütun adını alma: resultSet.getString("column_name").

  • Sütun veri türünü alma: resultSet.getString("data_type").

ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)

Örnekler

Dataphin JDBC sürücüsünü kullanarak katalog bilgilerini alabilirsiniz.

1. Tablaları listeleme

Bir projedeki fiziksel tabloları ve fiziksel görünümleri listeler.

Sözdizimi

SHOW TABLES
    [FROM db_name]
    [LIKE 'pattern']

Parametreler

db_name:

  • Dataphin proje adı: Projedeki fiziksel tabloları görüntüler.

  • Geliştirme projeleri ve veri blokları için _Dev son ekini açıkça eklemeniz gerekir.

  • db_name belirtilmezse bağlantı dizesinde belirtilen project_name varsayılan olarak kullanılır.

Sonuç


Ad


Tür


Açıklama


dim_user


Mantıksal tablo


Kullanıcı tablosu.


ods_user


Fiziksel tablo


Kullanıcı kaynak tablosu.


ods_user_logical_view


Mantıksal görünüm


Mantıksal görünüm.


ods_user_physical_view2


Fiziksel görünüm


Fiziksel görünüm.

2. Tablo şemasını alma

Bir fiziksel tablonun veya fiziksel görünümün şemasını gösterir.

Sözdizimi

{DESCRIBE | DESC} table_name;
Not

Bu komut yalnızca fiziksel tabloları ve fiziksel görünümleri destekler.

Parametreler

table_name: Bir fiziksel tablo veya fiziksel görünümün adı.

Sonuç


Ad


Tür


Açıklama


ID


BigInt


Kullanıcı kimliği.


Name


String


Kullanıcı adı.


DS


String


Bölüm zamanı.

Sunucu tarafı bağlantı kontrolü

  • Maksimum bağlantı sayısı: Varsayılan değer 100'dür.

  • Bağlantı zaman aşımı: Varsayılan değer 288000 saniyedir (2 saat). Kurulan bir bağlantı bu süre boyunca boşta kalırsa otomatik olarak kesilir. Kesilen bağlantıda bir işlem gerçekleştirmeye çalışırsanız hata veya kapatma istisnası döndürülür. Bu durum JDBC URL'sindeki Connection_Idle_Timeout parametresine karşılık gelir.

MaxCompute'deki JDBC görevleri için meta veriler

Bir JDBC görevi Dataphin'den bir MaxCompute yürütme örneğine gönderildiğinde gönderimde aşağıdaki meta veriler yer alır:


Parametre


Açıklama


logical_project


JDBC görevinin yürütüldüğü Dataphin projesinin adı.


EXT_JDBC_TASKRUN_ID


JDBC görevinin kimliği.


EXT_DPN_TENANT_ID


JDBC görevinin yürütüldüğü Dataphin kiracısının kimliği.


EXT_PLATFORM_ID


Görevi MaxCompute'a gönderen üst katman platformunun kimliği. Varsayılan değer Dataphin'dir.


biz_id


JDBC görevini yürüten Dataphin kullanıcısının kimliği.


odps.idata.userenv

Kullanıcı ortamı bilgileri. Buna Java SDK sürümü, Java sürümü, IP adresi ve cihaz MAC bilgileri dahildir. Örnek:

JavaSDK Revision:fcedc4d,Version:0.37.6,JavaVersion:1.8.0_152,IP:11.**.***.**,MAC:00-**-**-**-**-25.

Bu bilgileri MaxCompute faturalarını analiz etmek ve iş sürelerini görüntülemek gibi kullanım senaryolarında kullanabilirsiniz. Daha fazla bilgi için bkz. MaxCompute projelerinin en yüksek maliyetli hesaplarının ve zaman alan işlerinin istatistiklerini toplama.