ODBC连接字符串到Amazon Redshift

时间:2015-12-17 01:34:06

标签: sas odbc connection-string amazon-redshift msdasql

有没有办法在连接字符串中指定“其他选项”的设置? ?

我正在尝试创建一个连接字符串,用于从SAS访问Amazon Redshift并安装SAS / Access到OleDb。

因为我只能访问OleDb,所以我必须使用OleDb提供程序MSDASQL连接到ODBC。

libname outhere oledb schema=ProjectXYZ init_string=
"
Provider=msdasql;
Driver={Amazon Redshift (x64)};
Server=blah.blah.blah.redshift.amazonaws.com;
Database=minions;
UID=bigboss;
PWD=boomboom;
Port=5439;
";

这主要起作用,SAS Explorer列出了数据库中的所有表(即使不是ProjectXYZ {weird}中的表)。数据步骤可以贯穿数据。

问题是当我使用ViewTable查看数据时出现错误

NOTE: Table has been opened in browse mode.
ERROR: Open cursor error: ICommand::Execute failed. : [Amazon][RedShift ODBC] (30) Error occurred while trying to execute a que

ViewTable可以通过使用ODBC Admin来创建基于{Amazon Redshift(x64)}的UserDSN,并附带驱动程序附加选项" 单行模式"在“设置”对话框中选择。

我无法找到有关name = value对应该指定选择任何这些内容的任何文档

其他选项:

  • 单行模式
  • 使用声明/提取,缓存大小 100
  • 使用多个声明
  • 将整个结果检索到内存我认为这是驱动程序默认
  • 启用HTTP代理连接
    • 服务器端口:
    • 代理端口:

1 个答案:

答案 0 :(得分:-1)

以下是我能找到的最全面的选项列表:http://docs.aws.amazon.com/redshift/latest/mgmt/configure-odbc-options.html

以下是文档中提到的一些ODBC选项:

  • SingleRowMode(默认为0)
  • UseDeclareFetch(默认为0)
  • UseMultipleStatements(默认为0)
  • 端口(默认为5439)

当UseDeclareFetch = 0且SingleRowMode = 0时,驱动程序会将整个查询结果检索到内存中。