Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Error handling 如何正确连接到数据库?_Error Handling - Fatal编程技术网

Error handling 如何正确连接到数据库?

Error handling 如何正确连接到数据库?,error-handling,Error Handling,我不确定在尝试连接到odbc时为什么会出错 proc-sql; 24创建表xxx.test as 25从nxxe.nxrxxt中选择* 1连接成功 2 libref成功 我没有执行任何查询。我怎么会有语法错误?我甚至没有任何你的查询中有括号;尝试删除它们: proc sql; create table kyle.test as select * from noagree.no_agreement_list; quit; 但是,首先尝试用一张小桌子。另外,特别是对于Teradata,指定索引非

我不确定在尝试连接到odbc时为什么会出错

proc-sql; 24创建表xxx.test as 25从nxxe.nxrxxt中选择*

1连接成功 2 libref成功


我没有执行任何查询。我怎么会有语法错误?我甚至没有任何

你的查询中有括号;尝试删除它们:

proc sql;
create table kyle.test as
select * 
from noagree.no_agreement_list;
quit;
但是,首先尝试用一张小桌子。另外,特别是对于Teradata,指定索引非常重要。使用您拥有的代码,数据集中的第一个SAS变量将用作索引。选择不当的索引可能会对您的数据库产生严重的负面影响,影响其他用户和您自己

我自己使用SAS/Access访问Teradata,因此我不知道ODBC是否提供这些选项,但下面是一个如何显式定义索引和各种列类型的示例:

data kyle.test
     ( dbcreate_table_opts='primary index(INDEX_COLUMN)'
       dbtype=( INDEX_COLUMN='INTEGER NOT NULL'
              , USER_NAME='VARCHAR(120) CHARACTER SET LATIN NOT CASESPECIFIC'
              , PHONE_NUMBER='CHAR(10)'
              , CONTACT_DATE="DATE FORMAT 'yyyy-mm-dd'"
              , FROM_LINE_NUM='SMALLINT'
              , DOLLAR_DATA='DECIMAL(15,2)'
              )
      );
   set noagree.no_agreement_list;
run;
注意:这使用了正常的SAS数据步骤,而不是PROC SQL;数据集中未在dbtype选项中列出的任何变量都将使用标准SAS转换进行复制

最后,一旦这项工作开始,请确保运行“收集统计信息”步骤,这可以使用SQL助手工具SQLA来完成。我假设您有权访问SQLA,特别是如果您有对某个数据库的写入权限