はじめまして、宜しくお願いします。
現在、Access2002、SQLサーバー2000を使ってタイトルのようなことを
実現したいと思っています。
現在作っているファイル名の拡張子はDBにSQLサーバーを使っているので「adp」です。
しかし、システムが完成した後で、扱うデータ量がそんなに多くないことと、SQLサーバーをDBに使うとお金もかかってしまうということが分かったため
やはり、アクセスの中だけの閉じたシステム(「mdb」のような状態)にしたいと思っています。
システム自体は完成してしまっているので、mdbファイルとして
作り直すには効率が大変悪いと思っています。
そこでシステムファイルはそのままでDBの接続先だけSQLサーバーから
アクセスDBに変えようと思っているのですが、
なかなかうまくいかず、行き詰っています。
もしかして、そのようなことは無理なのでしょうか?
もしもなにかお気づきの方が居られましたら、
ご教授宜しくお願いします。
No.1ベストアンサー
- 回答日時:
>アクセスDBに変えようと思っているのですが、なかなかうまくいかず、行き詰っています。
>もしかして、そのようなことは無理なのでしょうか?
MSDEでの接続からADOかDAOにするということですか?
無理なことはないではないですが、ストアドの量で変換のボリュームが決まるような気がします。
しかし質問内容では、どこが行き詰まっているのかわかりません。
現在の接続方式
今後の接続方式
ストアドの本数
現在の大きな課題
などを記さないと、誰も答えることができないと思います。
ただこのようなDB変更はまれにあるので、あらかじめそういった想定をして、コーディングしておかないといけません。
特に
※DBへの接続/開放
※テーブルのレコードセット/開放
※EXECUTEする反映系の命令
※トランザクション開始/コミット/ロールバック
などのDBを操作するものは、関数化しておくのがよいと思います。
そうしておくとDB変更にも耐えやすいプログラムができると思います。
参考URL:http://homepage2.nifty.com/inform/vbdb/
返信が遅くなりましてすいません。
早速のレスありがとうございます。いつぞやもTAGOSAKU7さんに助けて
いただいた記憶が・・。いつもありがとうございます。
確かに言われるとおり説明不足でした。
ADOからDAOに変更するわけでなく、データベースとしてSQLサーバーを
使わないようにするとうだけで、アクセスDBをADOで操作するという形に
しようと思っています。(そのためadpからmdbに変更したい。)
つまり操作はADOでするのでストアド部分は変更はないです。
結局、解決しました。
今回、インポートできるのはテーブルだけだと思いこんでしまっていたので
このような問題がおきていました。
調べてもいないのに、決め付けていました。恥ずかしいです。
結局
(1)新しくmdbファイルをつくって、既存のadpファイルからテーブル、
レポート、フォーム、モジュールをインポートする。
(クエリだけはadpからmdbへのインポートではできないようです。)
(2)インポートしたテーブルを使って既存のadpファイルのクエリを参照しながら
mdbファイルにもクエリをつくる。
(1)と(2)をやることでタイトルのことが実現できました。
参考URLを含めいろいろとありがとうございます。
No.2
- 回答日時:
何がうまくいっていないのでしょうか。
テーブルであればインポートできますよ。
それ以外のオブジェクトはSQL Server Enterprise Managerを開いてSQL Server内のものを参考にしてAccessで作り直すしかないでしょうね。
【インポート方法】
Access2000を起動してMDBファイルを開く、または新規作成する。
テーブル一覧を表示させ、[右クリック]-[インポート]を実行。
ファイルを選択するダイアログが表示されるので、「ファイルの種類」で「ODBC Database()」を選択する。
「データソースの選択」ダイアログが表示されるので、「ファイル データソース」タブで[新規作成]をクリック。
「データソースの新規作成」ダイアログが表示される。
「セットアップするデータソースのドライバを選択してください」で「SQL Server」を選択して[次へ]をクリック。
[参照]ボタンをクリック。「名前を付けて保存」ダイアログが表示される。
そのまま、もしくは好きなフォルダに移動して、適当なファイル名をつけて[保存]をクリック。
再び「データソースの新規作成」ダイアログに戻ってくるので[次へ]をクリック。
[完了]をクリック。「SQL Serverに接続するための新規データソースを作成する」ダイアログが表示される。
接続するSQL Serverを指定して[次へ]をクリック。
ログインの認証方法でWindowsNT認証かSQL Server用ログインのどちらか好きなほうを選択する。
# WindowsNT認証の場合は今ログインしているユーザーがSQL Serverに接続する権限を持っている必要があります。
# SQL Server用のログインIDの場合は、SQL Serverをインストールしたときに「SA」というユーザーを作ったと思いますので、ユーザー名「SA」と、インストール時に設定したパスワード(もしかしたらパスワードなしって場合もありますが)を入力する。
[次へ]をクリックする。
「既定のデータベースを以下のものに変更する」にチェックを入れて、接続したいデータベース名を選択し、[次へ]をクリックする。
そのまま[完了]をクリックする。
一応[データソースのテスト]をクリックする。
テストが完了しない場合は先ほど指定したユーザー名とパスワードや、その他の細かな情報を確認する。
テストが完了したら[OK]をクリックする。
「データソースの選択」ダイアログに戻ってくるので、今作成したデータソースを選択して[OK]をクリックする。
「オブジェクトのインポート」ダイアログが表示されるのでインポートしたいテーブルを選択する。
# テーブル名は dbo. + テーブル名 となっています。
# システムテーブルも表示されているので、自分で作成したテーブルだけを選んでください。
テーブルを選択したら[OK]をクリックする。
何事もなければこれでインポートできます。
あとはダイアグラムやビューやストアドプロシージャを参考にして、リレーションやクエリを作成してください。
早速のレス、ありがとうございます。
返信がおそくなり申し訳ございません。
回答NO.1のお礼部分に書いた内容で解決いたしました。
インポートの手順を詳細に書いていただき本当にありがとうございます。
しかし、今回は説明の中にあります、「ファイルの種類」「ODBC Database()」を
選択せず、デフォルトのままでadpファイルを指定してインポートしました。
(テーブル名の先頭にado.がつくとストアドの内容の変更が発生してしまうため)
temtecomaiさんのいわれるとうりクエリにつてはビューを参考にしてつくりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
- その他(ブログ) ブログの作成 2 2023/06/25 09:11
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- その他(データベース) ORMについて 1 2022/06/18 10:07
- その他(セキュリティ) 役所など、情報系システムのセキュリティが弱くても業務システムに問題ないか 3 2022/11/02 16:38
- その他(ブラウザ) python から COBOL を呼び出すことは可能でしょうか。 1 2023/04/21 21:03
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルからアクセスにインポ...
-
C#でaccdbファイルのテーブルの...
-
(ACCESS)複数mdbからのデータ...
-
ACCESS テーブルに2行目から取...
-
グループ単位にCSVファイル...
-
Accessでボタンを押したらエク...
-
テーブルのリンク(ACCESS)
-
アクセスマクロで、csv データ...
-
CSVデータの取り込み
-
アクセス初心者に注意点を教え...
-
Access2019でフォームから入力...
-
jspのプログラムについて
-
Access レコードを追加できませ...
-
INDEXの無効化
-
データを削除しても表領域の使...
-
datapumpの実行方法について
-
CLOB型へのINSERT
-
postgreSQLのint型は桁数指定が...
-
Viewにインデックスは張れ...
-
ORA-00959: 表領域'****'は...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルからアクセスにインポ...
-
C#でaccdbファイルのテーブルの...
-
ACCESS テーブルに2行目から取...
-
(ACCESS)複数mdbからのデータ...
-
テーブルのリンク(ACCESS)
-
他ファイルのテーブルの情報を...
-
Accessでボタンを押したらエク...
-
画面から入力した値がDBに登録...
-
アクセスマクロで、csv データ...
-
データ読込時のタイムアウト
-
jspのプログラムについて
-
csvをSQLiteに取り込むと文字化...
-
ACCESSとエクセルのリン...
-
ACCESSのVBAを利用して、Excel...
-
リソースファイルとロケールに...
-
Access2019でフォームから入力...
-
VBでCSVデータをMDB
-
アクセス初心者に注意点を教え...
-
グループ単位にCSVファイル...
-
ACCESS 2003では、テーブルのリ...
おすすめ情報