2

Access 2003(Jet)データベースからSQL ServerでホストされているビューへのODBCリンクを作成する必要があります。このビューには、次のようなピリオドを含むエイリアスフィールド名が含まれています。

Seq.Group

ビューの背後にあるSQLソースでは、フィールド名は角かっこで囲まれています。

SELECT Table._Group AS [Seq.Group]

...したがって、SQL Serverはビューの作成について文句を言いませんが、Jet DBから(プログラムまたはAccess 2003 UIを介して)ビューへのODBCリンクを作成しようとすると、次のエラーメッセージが表示されます。

'Seq.Group'は有効な名前ではありません。無効な文字や句読点が含まれていないこと、および長すぎないことを確認してください。

残念ながら、ビューは別の製品の一部であるため、ビューの構造を変更できません。そのため、フィールド名をそのまま使用しています。句読点のないフィールド名を使用して独自のビューを追加することもできますが、SQL Serverを変更したくないのは、アップグレードや修正プログラムなどが発生するたびに、SQLServerが別のメンテナンスポイントになるためです。より良い回避策を知っている人はいますか。 ?

4

3 に答える 3

4

技術的にはドットをエスケープすることにはなりませんでしたが、あなたの提案により、実際に別の代替案に気付きました。エスケープ コードを "SQL" サーバーに "渡す" 方法を考えていたときに、ODBC リンク テーブルの代わりに "SQL パススルー クエリ" を使用してみませんか? SQL Server データへの読み取りアクセスのみが必要なので、問題なく動作します。ありがとう!

于 2008-10-02T03:33:41.837 に答える
1

ここで推測してみましょう: ドットをエスケープしようとしましたか? 「[Seq\.Group]」みたいな?

于 2008-10-02T01:30:59.727 に答える
0

別の提案は、既存のビューを変更するのではなく、SQL サーバーに新しいビューを追加することです。最初のビューが「ソリューション」の一部であっても、新しいビューを追加することを禁止するものは何もありません:

SELECT Table._Group AS [Seq_Group]
于 2008-10-02T05:35:04.587 に答える