如何にして外部からのSQLデータベースへの接続禁止なレンタルサーバーで一定時間ごとにDBを更新するか

このQ&Aのポイント
  • レンタルサーバーの規約により外部からのSQLデータベースへの接続が禁止されている場合、一定時間ごとにDBを更新する方法はありますか?この記事では、外部接続が制限されるレンタルサーバーでのDB更新について考えます。
  • レンタルサーバーでは通常、外部からのSQLデータベースへの接続が禁止されていますが、他の方法を使用することでDBを定期的に更新することが可能です。この記事では、具体的な解決策を紹介します。
  • 安価なレンタルサーバーでは外部からのSQLデータベースへの接続が禁止されている場合、一定時間ごとにDBを更新する方法はありますか?この記事では、代替手段としてのデータの取得とDB更新方法を紹介します。
回答を見る
  • ベストアンサー

一定時間ごとにDBを更新したい

日々お世話になっております。 一定時間ごとに、あるサイトから得た情報を自動でデータベースに記録していく、ローカルで動くプログラムを作り、これを別のパソコンで常時実行させ、自宅にあるサーバーへ書き込んでいます。 データベースに書き込んだ情報はWebページで利用しています。 今回、(安価な)レンタルサーバーを利用しようと思いましたが、規約では、”外部からのSQLデータベースへの接続禁止”とあり、これは使えそうにありません。 レンタルサーバー自体に、ローカルで動くプログラムを実行させることもできそうにありません。 こういった場合は、どのように解決すればよいのでしょうか? 安価なレンタルサーバーでは不可能なのでしょうか? 環境は、ASP.NET4.0、SQLServer2008 R2、WindowsServer2008 R2、VB.NETです。 漠然とした質問ですみませんが、ご教授下さい。 カテゴリが適切ではない場合、申し訳ありませんが、適切なカテゴリを教えていただければと思います。 よろしくお願いします。

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 cronやタスクみたいなものが使えないのであれば最終手段は常時立ち上がっているPCからブラウザにてそのレンタルサーバに用意したサーバ側のアプリに接続します。 サーバ側のアプリはx時間ごとに自分に対してリロードをかけます。 (ここはJavaScriptでもなんでも) ブラウザを立ち上げている間は情報取得が起動するはずです。 そのサーバ側のアプリにてサイトから情報を取得してそのサーバのデータベースに書き込みすれば内部からの接続になると思います。 ただ、あまりにも短い間隔でリロードすると負荷がかかりますので適度なリロードなら怒られないと思います。

norisio2000
質問者

お礼

ありがとうございます! その方法なら比較的すぐにできそうですね。 負荷がどれほどかを試しながら更新時間を調整してみようと思います。

その他の回答 (2)

  • onos
  • ベストアンサー率81% (127/155)
回答No.3

ASP.NET だとキャッシュのクリアを利用して一定時間でプログラムを動作させることが不可能ではないです。 サンプルは英語のものですが、二種類みたことあります。 ただ、安定した動作させるのはそれなりのノウハウがいりそうな。。。 簡単なのは外部(手元のPCあたり)から自動処理のプログラムをURLベースで呼び出す、という方法でしょうね、やはり。

norisio2000
質問者

お礼

ありがとうございます! やはり実行用のページを作るのが確実なようですね キャッシュのクリアを利用した方法、難しそうですが調べてみます。

  • kawai985
  • ベストアンサー率68% (17/25)
回答No.2
norisio2000
質問者

お礼

ありがとうございます! MySQLであれば外部からの接続も許可しているレンタルサーバー様があるのですね SQLServerなので困難ではありますが、検討してみます。

関連するQ&A

  • 一定時間で自動に2つのSQLServerでデータのやりとりを行なうには?

    WindowsServer2003のインストールされている2台 があって、どちらもSQLServer2000が入っています。 同じデータベース名で1つだけDBがあります。 サーバAのデータをある特定時間(例えば夜間)に サーバBにコピーして更新(コミット)させる ことは可能でしょうか? 可能の場合どのようにしたらできますでしょうか。 実現に際し、条件などあればそれも併せて教えて 下さいませんでしょうか・・・。 できればAのDBの内容全てではなく、 例えば同じ状態のDBが2つあって、Aだけ 1日動作させて、夜間にBにデータを送る時には 差分だけを更新させたいです。 どなたか助けて下さい。 SQLserverのみの機能でできますでしょうか。。

  • DB設計方法

    MS-SQLServer7.0を使用してASPと連動したHPを製作しております。 1つの製品情報に複数の製品カテゴリ(1~5個まで)と 1つのスペックを登録し、このデータベースから製品カテゴリの前方一致検索を可能にする場合、製品カテゴリは別テーブルにあると仮定して列名を次のうちどちらにしたほうが良いか教えてください。 =====例1===== 製品ID|カテゴリID|スペック| =====例2===== 製品ID|カテゴリID-1|カテゴリID-2|カテゴリID-3|カテゴリID-4|カテゴリID-5|スペック|

  • ASP.NETからSQLServerに接続出来ない

    ASP.NETからSQLServerにアクセスしようとすると、ログイン画面が表示されてしまいます。 今まで、問題なく運用出来ていましたが、新たにデータベースにテーブルを追加し、それにアクセスする処理を実行したところ、ログイン画面が表示されてしまいました。実施した手順は、以下の通りです。 ノートPC(開発機)のMicrosoft Visual Web Developer 2005でデータベースのテーブルを新規追加し、プログラムを検証したところ問題なかったので、プログラムを本番機(サーバ)にコピーし検証しようと思い、サーバ側でSQL Server Management Express 2005を用いてテーブルを新規追加して検証したところ、ログイン画面が表示されてしまいました。 実施した手順 1.ASP.NETのプログラム内で、新しいテーブルを参照する処理を追加。 2.ノートPC(開発機)内のMicrosoft Visual Web Developer 2005でテーブルを新規追加し、プログラムを検証。問題なくアクセスできた。 3.ノートPC(開発機)から本番機サーバにプログラムをコピー。 4.本番機サーバのSQL Server Management Express 2005でテーブルを新規追加。 5.本番機でプログラムを実行したところ、ログイン画面が表示されてしまった。 補足:従来のテーブルはsa認証なので、同様にsa認証でテーブルを追加。 データベース:SQLServer2005 OS:WindowsServer2003 SD SP2 このような場合は、どのように対応したら良いのでしょうか? ご存知の方いらっしゃいましたら、ご教授願います。 よろしくお願いいたします。

  • SQLServer の DB を、VB2005 で作成したアプリから作りたい

    こんにちは。 APサーバにVB2005 DBサーバに SQLServer 2005 という環境で動作する自作アプリケーションがあります。 このアプリを新規の環境にセットアップする際には、 1. DBサーバにSQLServer をインストール 2. SQLServer Management Studio で、データベース作成 3. 同じくテーブル作成。 4. APサーバにアプリケーションをインストール 5. 動作確認 という流れになりますが、セットアップの為に 技術者が必要になってしまいます。 そこでエンドユーザが簡単にセットアップできるように 2.と3. を、セットアップ用プログラムから 自動で走らせたく思っています。 APサーバ上で動くプログラムで、 DBサーバ上のSQLServer内に「hogehoge」というデータベースを 作成するにはどのように記述すれば良いのでしょうか。 宜しくお願い致します。

  • Webサーバのハードウェアの選定

    Webサーバのハードウェアの選定で大変困っています・・・ WindowsServer2003とSQLServer2005を使い、ASPでサービスを提供しようと思っているのですが、 サーバのハードウェアはどのような方法で選定したらいいのでしょうか? 想定は 100人規模のユーザがアクセスするサーバ 1000人規模のユーザがアクセスするサーバ の2点です。 まず、どのようなことから始めたらいいのでしょうか・・・ ちなみにASPでのプログラムはすでに完成しています。 よろしくお願いします。

  • Windows server 2003とSQLServerでの開発

    こんにちは。 現在PHPを使用していたのですが、都合でASPで開発をしないといけなくなりました・・・。 連休中に勉強をしたいと思います・・・。 環境は WindowsServer2003とIIS&SQLServer2000です。 この環境ですとPHPは使えないですよね???使えると一番いいのですが・・・ やることは、 1.サーバーのデータが一日一回更新される。 2.ユーザーにID・パスワードでログインしてもらう。 3.フォームより日付もしくは、問い合せNOを取得しSQLserverから該当するデータを取得・表示さす 4.ユーザーのデータは管理者が閲覧・更新・削除・追加できるようにする。 です。 動作自体はそんなに難しくないと思うのですが、ASPかASP.NETのどちらで開発をすればいいのかわかりません。 プログラムはPHPをかじっている程度で、VB等は分かりません・・・。 使用するのは社内の人のみで外部には公開しません。 質問です。 1.WindowsServer20003でIIS&SQLServerだとPHPは使えないんですか? もし使えるのでしたら参考になるサイト・書籍などはありますか? 2.この環境でASPは使えますか? 3.ASPかASP.NETのどちらが覚えやすく、この開発にはどちらを使った方がいいのでしょうか? 拙い質問ですが,よろしくお願いします。

  • VB2005 SQLServer Timeout

    - プログラムの動作要件 WindowsServer2003 R2 Sp2 (X64) VS2005 VB.NET - 開発ツール、テクノロジ (製品/テクノロジ名、バージョン、エディション、サービスパック) VS2005 Vb.NET Version 8.0.50727.42 FrameworkVersion 2.0.50727 SP2 - ビジネス フェーズ (実装) ・SQLServer2005のバックアップ、リストア専用Toolの作成 Microsoft.SqlServer.Smo、Microsoft.SqlServer.ConnectionInfo, Microsoft.SqlServer.SqlEnum、Microsoft.SqlServer.SmoEnumを参照設定し、 SQL Server 2005の指定したデータベースをバックアップ、リストアを行うモジュールを作成しました。、 - 内容 大きなデータベースをバックアップしようとすると10分程度でタイムアウトしてしまいます。 ConnectionContext.ConnectTimeoutを設定してみましたが、変化がございません。 実行時のタイムアウト設定は、どのようにすれば、可能なのでしょうか?

  • ASPから異なる複数のDBサーバーに接続する方法

    ASPの質問です。WEBサーバーと複数のDBサーバーがあります。 ADODB.Connectionでオラクルサーバーに接続し、データベースオブジェクトを作成しています。 別々のDBサーバーにあるテーブルを結合して利用したいのですが、ASPで可能でしょうか? 例えば"select * from A,B where A.ID=B.ID"というSQL文を実行する(AとBは別々のDBサーバーにある)。 とりあえず、代替案で検討しているのは片方のDBサーバーにデータベースリンクで他方のDBサーバーのVIEWを作ろうかと思っています。できればASPで解決したいのですが、よろしく御願いします。

  • WindowsServer2012日付形式

    WindowsServer2012とWindows8から日付フォーマットが変更されているようです。 WEBサーバにWindowsServer2012を利用してSQLServer2000のDatetime型の日付データを取得しているのですが、以前利用していたWindowsServer2003と日付取得フォーマットが変更されているようです。 Server2003の場合:2009 1 1 9:38  Server2012の場合:01 1 2009 9:38AM サーバの設定を変更することでServer2003形式に戻すことは可能でしょうか? それともSQLで取得時フォーマットしなくてはならないでしょうか? プログラム本数がたくさんあるのでできればOS設定で解決できればと思っています。 もしご存じの方おられましたらご教授のほどお願い致します。

  • .NETのaspxについて。

    現在、VisualBasic.NETのWebアプリケーション製作を利用して、ネット上からデータベースを閲覧するaspxを作成しています。 ローカル(自パソ)での閲覧はエラーが出ないのですが、そのファイルをサーバー上に上げて実行(アクセス)すると、サーバーエラーが出てきます。 aspxでサーバエラーが出ないようにするには、どのようにすればよろしいのでしょうか。 プログラム上のデータベース接続には、サーバのIPアドレスを利用して接続しています。 また、自パソのOSはxp サーバは2000Proです。 サーバには.Netは入っていません。

専門家に質問してみよう