0

Excel を使用して特定のテーブル/ビューにアクセスしようとすると、実行中のプログラム「Microsoft Query」がクラッシュします。主キーが 1 つしかない「通常の」テーブルは、問題なく検索およびエクスポートできます。

インポートできないテーブルには、両方が主キーで両方が外部キーである 2 つの列が含まれています。ビューの 1 つは内部結合のペアで構成され、もう 1 つのビューはグループ化されたテーブル (SUM() および GROUP BY) です。テーブルとこれら 2 つのビューは、"Microsoft Query" をクラッシュさせるようです。これを解決する方法はありますか?

編集:テーブルは次のようになります。

CREATE TABLE AccountHolder
(
  Account BIGINT(10),
  Customer INT,
  PRIMARY KEY(Account, Customer),
  CONSTRAINT FKAccountHolderAccount
    FOREIGN KEY AccountHolder (Account)
    REFERENCES Account (AccountNumber),
  CONSTRAINT FKAccountHolderCustomer
    FOREIGN KEY AccountHolder (Customer)
    REFERENCES Customer (ID)
) ENGINE = InnoDB;
4

1 に答える 1

1

私も同様の問題を抱えていました。テーブル名の前にあるマイナス記号をクリックすると、Microsoft Query が即座にクラッシュしました。

いくつかのテストを実行しましたが、試行錯誤の結果、問題の 1 つはテーブル名の長さにあったようです。テーブル名が 18 文字を超えると、Microsoft Query がクラッシュしました。

回避策は、名前が 18 文字以下のビューを作成することでした。もう一度試してみたところ、テーブルの列を表示して選択し、Excel にインポートできました。

名前が 18 文字以下で、3M レコードを含み、147 列で構成された巨大なテーブルで再確認し、データを取得しようとしました。すべての列を選択し、いくつかの条件を設定することはできましたが、Microsoft Query が再びクラッシュしました。現時点では、列名が同じ規則に準拠する必要があるのではないかと考えていましたが、そうではありません。

問題のあるテーブルに対して同じ列名で別のビューを作成し、まったく同じレコードを取得しようとしたところ、うまくいきました...困惑していますが、少なくともうまくいきます。

これが何らかの形で役立つことを願っています。

于 2012-06-29T15:46:02.057 に答える