有没有办法在连接字符串中指定"附加选项"的设置?
我正在尝试创建一个连接字符串,用于从安装了SAS/Access到OleDb的SAS访问Amazon Redshift。
因为我只能访问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中的表{奇怪})。数据步骤可以贯穿数据。
问题是,当我使用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
通过使用ODBC Admin创建基于{Amazon Redshift(x64)}的UserDSN,并在"设置"对话框中选择驱动程序附加选项"单行模式",可以使ViewTable工作。
我找不到任何关于名称=值对应该是什么的文档来指定这些中的任何一个的选择
附加选项:
- 单行模式
- 使用Declare/Fetch,缓存大小100
- 使用多个语句
- 将整个结果检索到内存中我认为这是驱动程序默认设置
- 启用HTTP代理连接
- 服务器端口:
- 代理端口:
以下是我能找到的最全面的选项列表:http://docs.aws.amazon.com/redshift/latest/mgmt/configure-odbc-options.html
以下是文档中提到的一些ODBC选项:
- SingleRowMode(默认为0)
- UseDeclareFetch(默认为0)
- UseMultipleStatements(默认为0)
- 端口(默认值5439)
当UseDeclareFetch=0和SingleRowMode=0时,驱动程序将整个查询结果检索到内存中。