Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
e4f60395
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e4f60395
编写于
1月 11, 2017
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Generic driver: provide client info
Former-commit-id:
b0e65bc8
上级
0502bb7f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
41 addition
and
6 deletion
+41
-6
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/model/GenericDataSource.java
...rg/jkiss/dbeaver/ext/generic/model/GenericDataSource.java
+41
-6
未找到文件。
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/model/GenericDataSource.java
浏览文件 @
e4f60395
...
...
@@ -17,15 +17,15 @@
*/
package
org.jkiss.dbeaver.ext.generic.model
;
import
org.jkiss.dbeaver.Log
;
import
org.eclipse.core.runtime.IAdaptable
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.
model.*
;
import
org.jkiss.dbeaver.
Log
;
import
org.jkiss.dbeaver.ext.generic.GenericConstants
;
import
org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel
;
import
org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaObject
;
import
org.jkiss.dbeaver.model.*
;
import
org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration
;
import
org.jkiss.dbeaver.model.connection.DBPDriver
;
import
org.jkiss.dbeaver.model.data.DBDValueHandlerProvider
;
...
...
@@ -39,15 +39,13 @@ import org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils;
import
org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCBasicDataTypeCache
;
import
org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCObjectCache
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
import
org.jkiss.dbeaver.model.sql.SQLDialect
;
import
org.jkiss.dbeaver.model.struct.*
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
import
org.jkiss.utils.CommonUtils
;
import
org.jkiss.utils.time.ExtendedDateFormat
;
import
java.sql.Driver
;
import
java.sql.SQLException
;
import
java.sql.SQLFeatureNotSupportedException
;
import
java.sql.*
;
import
java.text.Format
;
import
java.util.ArrayList
;
import
java.util.Collection
;
...
...
@@ -61,6 +59,8 @@ public class GenericDataSource extends JDBCDataSource
{
private
static
final
Log
log
=
Log
.
getLog
(
GenericDataSource
.
class
);
static
boolean
populateClientAppName
=
false
;
private
final
TableTypeCache
tableTypeCache
;
private
final
JDBCBasicDataTypeCache
dataTypeCache
;
private
List
<
GenericCatalog
>
catalogs
;
...
...
@@ -118,6 +118,41 @@ public class GenericDataSource extends JDBCDataSource
return
connectionURL
;
}
@Override
protected
Connection
openConnection
(
@NotNull
DBRProgressMonitor
monitor
,
@NotNull
String
purpose
)
throws
DBCException
{
Connection
jdbcConnection
=
super
.
openConnection
(
monitor
,
purpose
);
if
(
populateClientAppName
)
{
// Provide client info
// "ApplicationName" property seems to be pretty standard
try
{
final
ResultSet
ciList
=
jdbcConnection
.
getMetaData
().
getClientInfoProperties
();
if
(
ciList
!=
null
)
{
try
{
while
(
ciList
.
next
())
{
final
String
name
=
JDBCUtils
.
safeGetString
(
ciList
,
"NAME"
);
final
int
maxLength
=
JDBCUtils
.
safeGetInt
(
ciList
,
"MAX_LEN"
);
if
(
"ApplicationName"
.
equals
(
name
))
{
String
appName
=
DBUtils
.
getClientApplicationName
(
getContainer
(),
purpose
);
if
(
maxLength
>
0
)
{
appName
=
CommonUtils
.
truncateString
(
appName
,
maxLength
<=
0
?
48
:
maxLength
);
}
jdbcConnection
.
setClientInfo
(
"ApplicationName"
,
appName
);
break
;
}
}
}
finally
{
ciList
.
close
();
}
}
}
catch
(
Throwable
e
)
{
// just ignore
}
}
return
jdbcConnection
;
}
protected
void
initializeContextState
(
@NotNull
DBRProgressMonitor
monitor
,
@NotNull
JDBCExecutionContext
context
,
boolean
setActiveObject
)
throws
DBCException
{
if
(
setActiveObject
)
{
setActiveEntityName
(
monitor
,
context
,
getDefaultObject
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录