如何在Linux下通过Magnitude Simba设置BigQuery ODBC的非美国区域?
该报错是因为Simba BigQuery ODBC驱动默认将查询处理位置设置为US,与你存放数据集的EU区域不匹配,你可以通过以下两种方式统一指定区域:
方法1:修改ODBC DSN配置(全局生效,所有使用该DSN的连接自动继承配置)
Linux系统的ODBC DSN配置分为两类:
- 系统级配置文件路径:
/etc/odbc.ini,对所有用户生效 - 用户级配置文件路径:
~/.odbc.ini,仅对当前用户生效
找到你已配置的BigQuery DSN条目,新增Location参数指定区域即可,示例配置如下:
[你自定义的BigQuery DSN名称] Driver=/opt/simba/googlebigqueryodbc/lib/64/libgooglebigqueryodbc_sb64.so Description=Simba BigQuery ODBC Driver ProjectId=你的GCP项目ID Location=EU # 其他原有配置(如OAuth认证相关参数)保持不变即可
如果你的数据集存放在EU以外的其他区域,直接将Location的值替换为对应区域的标识符即可(如asia-southeast1、us-central1等)。
方法2:在连接字符串中指定(单连接生效,无需修改全局配置)
如果你是在代码中直接拼接ODBC连接字符串发起连接,无需修改配置文件,直接在连接字符串中添加Location=EU参数即可,示例如下:DRIVER={Simba ODBC Driver for Google BigQuery};ProjectId=你的GCP项目ID;Location=EU;OAuthType=0;
配置完成后发起查询即可默认使用指定区域处理请求,不会再触发区域不匹配的报错。
内容的提问来源于stack exchange,提问作者Юрий Шахов
相关产品推荐
相关产品推荐

