2017-05-09 14 views
0

次のステートメントは、「From」句に構文エラーがあり、これには2つのカーリーテーブル名があります。実際のデータベース名はテーブルと同じなので、すべて別です。Select Intoステートメントでエラーが発生しました

私はSealRegister mdbへの接続を開きます。これは空です(まだテーブルはありません)。そして、その文に対してExecuteNonQueryを実行します。これは、SealRegister.mdbにSealRegisterテーブルを作成する必要があると思います。私は[EDIT]

connStr =「プロバイダ= Microsoft.ACE.OLEDB.12.0構文に

を修正するために何をする必要がありますどのような

sqlcommand = @"Select ""Plant"" As Geometry, A.Asset_ID, B.RoadID, A.AssetType, B.RoadName, B.SegmentNo, C.AadtCount, C.CommVehCnt " + 
    @"Into [SealRegister] " + 
    @"From [C:\AR\Plant\Accounting\2015].ARPlntPA_2015_07-2016_06+10yrs As A " + 
     @"LEFT OUTER JOIN ([C:\AR\Lines\Accounting\2015].ARLnPA_2015_07-2016_06+10yrs As B " + 
     @"LEFT OUTER JOIN [C:\AR\Lines\TEMP].ARLnX As C On B.Asset_ID = C.Asset_ID) On A.Parent_ID = B.Asset_ID " + 
      @"WHERE AssetType = 'Wearing Course'"; 

;データ ソース= C:\ ARのの\ TEMP \ SealRegister.mdb」

+0

エラーはありますか?どのドライバーを使用していますか? – tafia

+0

接続文字列を上にポップしました – Hank

+0

なぜDB名として特別な演算子文字を使用しますか?おそらく角かっこを使用して名前を囲む必要があります(例:FROM [C:\ AR \ Plant \ Accounting \ 2015]。[ARPlntPA_2015_07-2016_06 + 10yrs] AS A')。 '-'と' + 'はそれぞれSQLのマイナス演算子とプラス演算子のために予約されているため、大括弧なしでテーブル名として直接使用することはできません。 –

答えて

0

これは動作します:

sqlcommand = @"Select ""Plant"" As Geometry, A.Asset_ID, B.RoadID, A.AssetType, B.RoadName, B.SegmentNo, C.AadtCount, C.CommVehCnt " + 
    @"Into [SealRegister] " + 
    @"From [C:\AR\Plant\Accounting\2015\ARPlntPA_2015_07-2016_06+10yrs].[ARPlntPA_2015_07-2016_06+10yrs] As A " + 
     @"LEFT OUTER JOIN ([C:\AR\Lines\Accounting\2015\ARLnPA_2015_07-2016_06+10yrs].[ARLnPA_2015_07-2016_06+10yrs] As B " + 
     @"LEFT OUTER JOIN [C:\AR\Lines\TEMP].ARLnX As C On B.Asset_ID = C.Asset_ID) On A.Parent_ID = B.Asset_ID " + 
      @"WHERE AssetType = 'Wearing Course'"; 
関連する問題