VB6 ADOでSQLServerとMDB間のデータを移動したい2

解決


m  2006-02-24 03:37:07  No: 94354

ADOでローカルのMDBをコネクションで開いています。
そのコネクションで以下のSQL文でExecuteするとエラーが出ます。
「FROM句句の構文エラーです。」

adoCn.Execute "SELECT a.* FROM OPENROWSET('SQLOLEDB','servername';'sa';'password','SELECT * FROM dbname.dbo.tablename') AS a"

何か間違っているのでしょうか?

また、逆の場合はうまくいきました。


もげ  2006-02-24 18:06:24  No: 94355

OPENROWSET  はT-SQL(SQLServerのSQL文)の構文です。

>ADOでローカルのMDBをコネクションで開いています。

ということは、JetのOLEDBプロバイダでしょうから、
Jetで通用するSQL文を発行する必要があります。
その区別がついていないのが「間違い」ということに...
というのはさておき、
JetからSQLServerを見に行くようにすればいいわけですから、
MDB上にリンクテーブルを作成するか、または、
FROM [ODBC;driver={SQL Server};Server=サーバ名;UID=ユーザ;PWD=パスワード;database=DB名].テーブル名
のようにします。


m  2006-02-24 18:50:08  No: 94356

ありがとうございます。

>Jetで通用するSQL文を発行する必要があります。
>その区別がついていないのが「間違い」ということに...
SQLについてもっと勉強します。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加