• ベストアンサー

Access への接続で・・・

.NET でAccess接続するために、OleDbAdapter で SQL文を生成したのですが、Select文しか生成されず、「データアダプタを構成中にエラーが発生しました。」というエラーがでます。ただ、フィールド数の少ないテーブルなら問題ないのですが、フィールドが250を超えるテーブルだと上のようになってしまします。もしかしてフィールドの数制限なんてあるんでしょうか?教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんな膨大なデータベースを扱ったことがないので的外れでしたら申し訳ございません。 一度ACCESSクエリで更新クエリや追加クエリが作れるか確認してみてはどうでしょうか? もし作れるようであれば、その文字列を直接OleDbAdapterのUpdateCommandなどにコピペして動作するか確認されてはどうでしょうか? あとVB.NETではないのですが下のURLも参考になるかもしれません。

参考URL:
http://www.accessclub.jp/bbs6/0003/das460.html
YSK-Dream
質問者

お礼

ご丁寧にどうもありがとうございました☆ アクセス自体単独で使ったことがないのですが、いろいろ調べて更新クエリや追加クエリを生成してみます。 すぐにはできそうにないので、先に締め切らせていただきますね=。ありがとうございました♪

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Select Distinctについて

    SQL文の質問です。フィールドがTable1に100つあるとします。 select distinct XYZ From Table1という文があるとします。 これだとXYZのフィールドしか参照していないことになると思います。 そうではなくて、他の99フィールドの値も参照(データにアクセスしたい)したいと思っています。 select distinct XYZ, * From Table1とSelect * from Table1みたいなことをやりましたがエラーが発生しました。他の99フィールドを参照する方法はあるでしょうか?

  • ACCESSとoracleのODBC接続

    accessでoracleとODBC接続しています。access2003です。oracleは最新。 oracleのテーブルの項目数が255を超えています。 ACCESSの制限とか(?)で項目が350位あるので100項目くらいがリンクできません。VBAからselect文で(Select SYA_ID from IDOU)起動してもエラーになってしまいます。 何とか後ろのほうの項目を取得する方法は無いでしょうか? ご指導のほど宜しくお願い致します。

  • データベースのワイルドカードは%ではないの?

    アクセスのテーブルに あ い う があり、 SQL文で *********************************************** SELECT テーブル1.フィールド FROM テーブル1 WHERE (((テーブル1.フィールド) Like "%あ%")); *********************************************** としてもエラーにならないけど、「あ」が抽出されません。 *********************************************** SELECT テーブル1.フィールド FROM テーブル1 WHERE (((テーブル1.フィールド) Like "*あ*")); *********************************************** にすると、「あ」が抽出されます。 アクセスなどのデータベースのワイルドカードは%だと思っていたのですが違うのですか?

  • accessとオラクルの連携について

    お世話になります。アクセスでテーブルのデータをSQL文で取得し、 そのデータをオラクルのテーブルにinsertしたいと思ってます。 ただ、フィールドの数が40個もあるので insert into ・・・・Fields(0),Fields(1)・・・・ と記述するのはかなり面倒なので何かいい方法はないでしょうか よろしくお願いします。 なお、access側とオラクル側のテーブルは同じ型です。 ’ローカルテーブルのデータを取得 rec.Open "select * from tesuto", cnn ’取得したデータをinsertする Do Until rec.EOF sql= insert into value(Fields(0),Fields(1),・・・ rec1.Open "select * from tesuto1", cnn1 Loop

  • エラーを発生させたい(SQLサーバーへの接続)

    ネットのサンプルコードでSQLサーバーの接続テストをしましたが、 存在しないSQL文でもエラーになりません。(vb2005です) Sub sqlサーバーへ接続() ' 接続文字列を生成する Dim Cn As New System.Data.SqlClient.SqlConnection Dim SQL As System.Data.SqlClient.SqlCommand Dim stConnectionString As String = String.Empty stConnectionString &= "Data Source = ××××\SQLEXPRESS;" stConnectionString &= "Initial Catalog = ×××;" stConnectionString &= "Integrated Security = SSPI;" ' SqlConnection の新しいインスタンスを生成する (接続文字列を指定) Dim cSqlConnection As New System.Data.SqlClient.SqlConnection(stConnectionString) ' データベース接続を開く cSqlConnection.Open() SQL = Cn.CreateCommand SQL.CommandText = "SELECT テーブル1.あああフィールド1 FROM テーブル1" '間違ってても進んでしまう。 ' 接続に成功した旨を表示する MessageBox.Show("Microsoft SQL Server に接続されました") ' データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照) cSqlConnection.Close() cSqlConnection.Dispose() End Sub 「あああフィールド1」なんて存在しないのに、先に進んでしまいます。 エラー処理の仕方を教えてください。 よろしくお願いします。

  • ASPでSQL Serverへアクセス

    お世話になります。 ASPでSQL Serverにアクセスしているのですが、 strSQL = "select * from data" dataの部分(テーブル)を全角文字のテーブル指定にするとエラーが発生します。どのように記述すればいいのでしょうか?

  • いきなりSQLサーバーに接続できなくなりました。

    OS:vista SQL:Microsoft SQL Server 2005(無料版) 昨日までなんの問題もなくSQLサーバーに接続できていたのですが 今日パソコンをつけたら(シャットダウンしていた) SQLサーバーに接続できなくなりました。 何が起きたのかわかりません。 何も設定は変えていません。 エラーメッセージは ___________________________________________________ SQL Server への接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。 (provider: 共有メモリ プロバイダ, error: 40 - SQL Server への接続を開けませんでした) (.Net SqlClient Data Provider) Error Number: 2 Severity: 20 State: 0 ___________________________________________________ です。 参考に画像を添付します。 上:SQLサーバー接続時のエラー 下:アクセスからSQLサーバーのテーブルにリンクしているのですが テーブルが開けない時のエラー もしかしたらパソコンを落とした時ウインドウズアップデートが発生していたのかもしれません。 初心者の為、何が起きたのかよくわかりません。 ここからどうしたらよいか教えてください。 よろしくお願いします。

  • Access2000でDAOを使用したときエラーにならない

    Access2000のVBAでプログラムを組んでいて、一見うまく処理されているように見えるのに、実際データが登録されていないということがあり、どうすればエラーを起こせるのか悩んでいます。 Dim db As DAO.Database Set db = CurrentDb db.Execute "insert into TEST values ('10','AAAAAAAAAA')" db.Execute "insert into TEST values ('10','AAAAAAAAAA')" 1つ目のフィールドが主キーになっており、2回目のInsert文はエラーになるはずですが、何も起こりません。 On Error Goto等は全く記述していません。 テーブルには最初の1行のデータだけが登録されています。 これ以外にも、2桁のフィールドに3桁のデータをInsertしても無視されるだけでエラーになりません。 潜在バクになる可能姓があるので、エラーを発生させたいのですが何か設定があるのでしょうか? 因みに、SQL文をいじって文法エラーにすると、ちゃんと実行時エラーは発生します。 SQLの文法が正しくて、テーブルの定義に反している時のエラーが拾いたいのです。 よろしくお願いします。

  • ACCESSでのSQL文

    ACCESS2000を使用しています。 クエリをデザインビューから作成し、SQLビューで確認すると、例えば、 SELECT [test].[日付],[test].[トップ] FROM test; というような文章が作成されますが、ここで手動でSQL文に SELECT 日付,トップ FROM test; というふうに変更して実行した場合、[]を外したことによってエラーとなってしまう列が発生します。このエラーになる列とならない列が発生する原因をどなたかご存知ないでしょうか? ACCESSをデータベースとして他ツールによってデータを引き出すんですが、SQL文は自動作成されるので手で[]を入力しなければならないんです。 以上、よろしくお願いします。

  • Access にて DISTINCROW を使用した INSERT SELECT

    お世話様です。 Access2003 VBAにて、DoCmd.RunSQLを使用してSQL文を流す際、 普通のINSERT-SELECT文はOKですが、 そのSELECT文にDISTINCROW句を使用していると、 数百件程度のSELECT結果しかINSERTできません。 本当は数千件のSELECT結果をINSERTしたいのですが、 これを実行した場合、エラーにもならず、1レコードもINSERTされません。 ためしに、DINSTINCTROWではなく、SQL文を変更してDISTINCTにしてみたところ、 2000件以上でもINSERTできました。 DISTINCROW句を使用して数千件でもINSERTできる方法はあるでしょうか? ちなみにSELECT単体ですと、DISTINCTROWを使用していながら、 数千件でも結果を表示できます。 SQL例: str_SQL = " INSERT INTO 結果テーブル(フィールド1, フィールド2, フィールド3)  SELECT DISTINCTROW A.項目1, A.項目2, B.項目1  FROM テーブル1 A, テーブル2 B  (WHERE句はあってもなくても現象変わらず)  ORDER BY A.項目4 ASC, A.項目5 ASC " DoCmd.RunSQL (str_SQL) よろしくお願いいたします。