我正在尝试使用snowflake-sdk
连接器连接到雪花数据库。
首先,我使用命令行安装了snowflake-sdk
:
npm install snowflake-sdk
我按照报告的所有here指示进行操作之后。
我创建了文件index.js
,其中包含:
var snowflake = require('snowflake-sdk');
var connection = snowflake.createConnection( {
account : 'xxxx.east-us-2'
username: 'MYUSERNAME'
password: 'MYPASSWORD'
}
);
connection.connect(
function(err, conn) {
if (err) {
console.error('Unable to connect: ' + err.message);
}
else {
console.log('Successfully connected to Snowflake.');
}
}
);
在我运行命令node index.js
我遇到了连接错误:
无法连接:网络错误。无法到达雪花。
我再次尝试,更改了xxxx.east-us-2.azure.snowflakecomputing.com
中的帐户值,但没有任何改变。
答案 0 :(得分:0)
您的帐户名也应包括云提供商。 将帐户名称更改为:
var connection = snowflake.createConnection( {
account : 'xxxx.east-us-2.azure'
username: 'MYUSERNAME'
password: 'MYPASSWORD'
}
有关完整的帐户名,请参考docs
答案 1 :(得分:0)
问题出在您的帐户名上。请以您的帐户名xxxx.east-us-2.azure
答案 2 :(得分:0)
这是我在发给Snowflake支持人员的小问题复制中使用的代码。
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const snowflake = require("snowflake-sdk");
const Q = require("q");
const SNOWFLAKE_HOST_SUFFIX = 'snowflakecomputing.com';
const SNOWFLAKE_ACCOUNT = 'companyname';
function getSFConnection(connParams) {
var d = Q.defer();
let connection = snowflake.createConnection({
account: connParams.account || SNOWFLAKE_ACCOUNT,
username: connParams.user,
password: connParams.password || '',
database: connParams.name,
warehouse: connParams.warehouse
});
connection.connect(function (err, conn) {
if (err) {
console.error('Unable to connect: ' + err.message);
d.reject(err);
}
else {
console.info('Successfully connected as id: ' + connection.getId());
connection.close = function () {
return disconnectSF(connection);
};
d.resolve(connection);
}
});
return d.promise;
}
我用它就像:
getSFConnection({
user: 'username',
account: 'companyname',
password: 'password',
name: '',
warehouse: 'warehouse_name'
}).then...
根据反思,我想知道为什么设置了主机后缀,但是没有使用它。.但是有。