SQL Server连接器允许在外部SQL Server数据库中查询和创建表。这可用于连接不同系统(如SQL Server和Hive)之间或两个不同SQL Server实例之间的数据。
配置
要配置SQL Server连接器,请在etc/catalog命名中创建目录属性文件,例如,SQL Server.properties将SQL Server连接器安装为SQL Server目录。创建包含以下内容的文件,根据您的设置替换连接属性:
connector.name=SQL Server
connection-url=jdbc:SQL Server://[serverName[\instanceName][:portNumber]]
connection-user=root
connection-password=secret
多个SQL Server数据库或服务器
SQL Server连接器只能访问SQL Server服务器中的单个数据库。因此,如果您有多个SQL Server数据库,或者想要连接到SQL Server的多个实例,则必须配置多个目录,每个实例一个。
要添加另一个目录,只需添加另一个etc/catalog具有不同名称的属性文件(确保它以结尾.properties)。例如,如果您将属性文件sales.properties命名为,Presto将创建一个sales使用配置的连接器命名的目录。
查询SQL Server
SQL Server连接器提供对配置数据库中指定用户可见的所有架构的访问。对于以下示例,假设SQL Server目录是SQL Server。
您可以通过运行来查看可用的模式:SHOWSCHEMAS
SHOWSCHEMASFROMSQL Server;
如果您有一个名为的架构web,则可以通过运行以下命令查看此架构中的表:SHOWTABLES
SHOWTABLESFROMSQL Server.web;
您可以使用以下任一方法查看数据库clicks表中的列列表web:
DESCRIBESQL Server.web.clicks;
SHOWCOLUMNSFROMSQL Server.web.clicks;
最后,您可以查询架构中的clicks表web:
SELECT*FROMSQL Server.web.clicks;
如果您为目录属性文件使用了不同的名称,请使用该目录名称而不是SQL Server以上示例中的名称。
SQL Server连接器限制
Presto支持连接到SQL Server2016、SQL Server2014、SQL Server2012和AzureSQL数据库。
Presto支持以下SQL Server数据类型。下表显示了SQL Server和Presto数据类型之间的映射。
SQL服务器类型
|
Presto类型
|
bigint
|
bigint
|
smallint
|
smallint
|
int
|
integer
|
float
|
double
|
char(n)
|
char(n)
|
varchar(n)
|
varchar(n)
|
date
|
date
|
SQL Server数据类型的完整列表。
尚不支持以下SQL语句:
- 删除
- 更改表
- CREATETABLE(支持CREATETABLEAS)
- 授予
- 撤销