dbType= データコネクタオプション

指定された列の代替データ型を指定します。

該当要素:CASLIBステートメント
PROC CASUTIL: SAVEステートメント
デフォルト:なし
制限事項:このオプションには有効な列名を指定する必要があります。データソースに書き込むテーブルの一部ではない列名を指定すると、ログにエラーが書き込まれます。
操作:Microsoft SQL Server: connectionTypeForCreate=データコネクタオプションを使用して、データソースに指定する有効なデータ型のリストを決定します。
データソース:Greenplum、Impala、JDBC、Microsoft SQL Server、MongoDB、MySQL、Oracle、PostgreSQL、Salesforce、SAP HANA、SingleStore標準、Snowflake、Yellowbrick
参照項目:connectionTypeForCreate=データコネクタオプション

構文

必須引数

column=data-type

データソースのテーブルに書き込むときに使用する1つ以上の列名と対応するデータ型を指定します。複数の列とデータ型のペアはスペースで区切ります。

詳細

このオプションの使用に注意する

dbType=データコネクタオプションを使用する場合は注意してください。デフォルトのデータ型変換のかわりに別のデータ型を使用すると、数値の精度が失われたり、データ変換エラーが発生したりする可能性があります。ログを注意深く確認して、すべてのデータが外部データソースに正常に書き込まれたことを確認してください。

データを外部テーブルに保存するときに、dbType=オプションを使用して別の数値を指定する場合は注意してください。数値変数が通常はBIGINTデータ型に保存される場合に、それをINTEGER型に保存すると、非常に大きな値の精度が危険にさらされます。詳細については、データコネクタの"整数データ型と数値精度"に関する情報を参照してください。

また、デフォルトのデータ変換とは異なるデータ型変換を選択すると、選択したデータ型の許容範囲外の値が含まれる可能性があります。たとえば、2000文字の文字列を含む変数があり、その変数をSMALLINTデータ型に保存するとします。行を外部テーブルに書き込むと、失敗してデータ変換エラーが発生する可能性があります。

さらに、データ変換の失敗の処理方法は、データソースによって異なります。一部のデータソースでは、無効な値が検出されると、更新されたすべての行が外部テーブルから削除されます(ロールバック)。他のデータソースは、無効な値が検出されるまで行を挿入し、その時点で外部テーブルの更新を停止します。データがまったくないか、データのサブセットが外部テーブルに書き込まれるため、どちらの場合も望ましくありません。

注: エラーのためにデータソースが更新をロールバックしない場合、外部テーブルに書き込まれるデータのサブセットは、変換エラーのあるデータをデータソースに書き込もうとするたびに変わる可能性があります。これは、通常、外部テーブルへの書き込みで複数のCASノードが使用されるためです。これは、書き込まれる行数と行の順序が毎回異なる可能性があることを意味します。

使用可能なデータ型の概要

データソースで使用可能なデータ型は、PROC FEDSQLで使用されるデータ型に基づいています。次のリンクを使用して、データソースで使用可能なデータ型を確認してください。

使用可能なデータ型へのリンク

データソース

FedSQLデータ型

Greenplum

Greenplumのデータ型

Impala

Impalaのデータ型

JDBC

JDBCのデータ型

Microsoft SQL Server

Microsoft SQL Serverのデータ型

関連項目: Microsoft SQL Serverの追加のデータ型サポート

MongoDB

サポート:1

  • BIGINT
  • CHAR(n)
  • DOUBLE
  • INTEGER
  • TIMESTAMP
  • VARCHAR

MySQL

MySQLのデータ型

Oracle

Oracleのデータ型

PostgreSQL

PostgreSQLのデータ型

Salesforce

Salesforceに書き込むためのデータ型

SAP HANA

SAP HANAのデータ型

SingleStore標準

SingleStoreのデータ型

Snowflake

Snowflakeのデータ型

Yellowbrick

Yellowbrickのデータ型

1 dbType=でサポートされるデータ型のリストは、すべてのFedSQLデータ型のサブセットです。

Microsoft SQL Serverの追加のデータ型サポート

大きな文字値のサポートなど、Microsoft SQL Serverでサポートされている追加のデータ型があります。Microsoft SQL Serverのサポートには、関連するconnectionTypeForCreate=データコネクタオプションが含まれます。connectionTypeForCreate="native"を設定すると、Microsoft SQL Serverでサポートされている任意のデータ型を指定できます。ただし、追加の計算のためにデータをロードできるように、SASに読み戻せるデータ型を指定することをお勧めします。詳細については、connectionTypeForCreate= データコネクタオプションを参照してください。

例

この例では、caslib MycaslibにCars_toyotaというテーブルがあります。テーブルをPostgreSQLデータソースに保存し直しますが、MPG_City列とMPG_Highway列はDOUBLESではなくSMALLINT値として保存するとします。ファイルをPostgreSQLに保存するときに、dbType=オプションを使用して、これらの列のデフォルトのデータ型を変更します。CONTENTSステートメントからの出力を使用して、データ型が正しく割り当てられたことを確認します。

proc casutil incaslib=mycaslib;
  save casdata='cars_toyota' outcasib='mycaslib' 
      casout='cars_subset' 
      options=(dbtype="MPG_City='SMALLINT' MPG_Highway='SMALLINT'");
  contents casdata='cars_subset';
quit;
最終更新: 2026年9月4日