安装驱动并部署一个嬴图实例后,就可以将应用连接到数据库了。
建立连接
使用包含数据库连接配置的UltipaConfig
实例化NewUltipaDriver()
,从而创建一个连接。
package main
import (
"log"
"github.com/ultipa/ultipa-go-driver/v5/sdk"
"github.com/ultipa/ultipa-go-driver/v5/sdk/configuration"
)
func main() {
config := &configuration.UltipaConfig{
// URI example: Hosts: []string{"xxxx.us-east-1.cloud.ultipa.com:60010"},
Hosts: []string{"10.xx.xx.xx:60010"},
Username: "<username>",
Password: "<password>",
}
driver, err := sdk.NewUltipaDriver(config)
if err != nil {
log.Fatalln("Failed to connect to Ultipa:", err)
}
// Tests the connection
isSuccess, _ := driver.Test(nil)
println("Connection succeeds:", isSuccess)
}
Connection succeeds: true
使用配置文件
本例演示如何使用配置文件config.yml
建立连接:
package main
import (
"log"
"github.com/ultipa/ultipa-go-driver/v5/sdk"
"github.com/ultipa/ultipa-go-driver/v5/sdk/configuration"
)
func main() {
config, _ := configuration.LoadConfigFromYAML("./config.yml")
driver, err := sdk.NewUltipaDriver(config)
if err != nil {
log.Fatalln("Failed to connect to Ultipa:", err)
}
// Tests the connection
isSuccess, _ := driver.Test(nil)
println("Connection succeeds:", isSuccess)
}
Connection succeeds: true
config.yml
文件示例:
# hosts: ["mqj4zouys.us-east-1.cloud.ultipa.com:60010"]
hosts:
- "10.xx.xx.xx:60010"
- "10.xx.xx.xx:60010"
- "10.xx.xx.xx:60010"
username: "<username>"
password: "<password>"
default_graph: "miniCircle"
crt:
max_recv_size:
连接配置
UltipaConfig
或配置文件可包含以下字段:
字段 |
类型 |
默认 |
描述 |
---|---|---|---|
Hosts |
[]string | / | 必填,逗号分隔的数据库服务器IP或URL地址;自动识别协议,不允许在URL开头写https:// 或http:// |
Username |
string | / | 必填,服务器验证的用户名 |
Password |
string | / | 必填,服务器验证的密码 |
DefaultGraph |
string | / | 默认使用的图名称 |
Crt |
[]byte | / | 建立安全连接所需的SSL证书文件路径 |
PasswordEncrypt |
string | MD5 |
驱动的密码加密方式,支持MD5 、LDAP 和NOTHING |
Timeout |
int32 | 最大值 | 请求超时阈值(单位:秒) |
Heartbeat |
int | 0 | 用于保持连接为活跃状态的心跳间隔(单位:毫秒),设置为0关闭心跳 |
MaxRecvSize |
int | 32 | 接收数据的最大大小(单位:MB) |