C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[23]: クライアントサーバへ変更


(過去ログ 87 を表示中)

[トピック内 43 記事 (1 - 20 表示)]  << 0 | 1 | 2 >>

■50930 / inTopicNo.1)  クライアントサーバへ変更
  
□投稿者/ ぽん (18回)-(2010/06/22(Tue) 14:32:47)

分類:[VB.NET/VB2005 以降] 

お世話になります。

現在VBでSQL Serverにアクセスするシステムを開発していますが、開発段階ではデータベースはローカルに存在します。
これをクライアントサーバに変更し、複数のPCから使用できるように変更したいと思っております。

開発環境はVisual Basic 2008 Express Edition 、SQL Server 2008 Express です。

参考にしている文献によるとVisual Basic 2008 Express EditonやSQL Serverデータベースのローカルファイルを使用している場合にはクライアントサーバ型システムに変更することはできないとあります。
VB側から接続のプロパティで、データソースを変更しようとしても、やはりローカルのインスタンスを選択することしかできません。

これは現在の環境ではクライアントサーバは実現できないということなのでしょうか。
その場合に必要なものは何になるのでしょうか。若しくは現環境で実現できるようであれば、ご教授お願い致します。
引用返信 編集キー/
■50933 / inTopicNo.2)  Re[1]: クライアントサーバへ変更
□投稿者/ 中博俊 (1420回)-(2010/06/22(Tue) 14:51:51)
どういう接続文字列でつないでいるんですか?
引用返信 編集キー/
■50934 / inTopicNo.3)  Re[2]: クライアントサーバへ変更
□投稿者/ ぽん (19回)-(2010/06/22(Tue) 14:56:28)
No50933 (中博俊 さん) に返信
> どういう接続文字列でつないでいるんですか?

Data Source=.\SQLEXPRESS2;AttachDbFilename=C:\DB\ファイル名.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

です。
引用返信 編集キー/
■50935 / inTopicNo.4)  Re[3]: クライアントサーバへ変更
□投稿者/ マサヤ (38回)-(2010/06/22(Tue) 15:05:14)
No50934 (ぽん さん) に返信
> ■No50933 (中博俊 さん) に返信
>>どういう接続文字列でつないでいるんですか?
>
> Data Source=.\SQLEXPRESS2;AttachDbFilename=C:\DB\ファイル名.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True
>
> です。

これはローカルにつないでる設定だと思いますが、サーバにはどのようにしてますか?
Web上にありましたら、参考文献にリンクを張っていただいていいでしょうか?
引用返信 編集キー/
■50938 / inTopicNo.5)  Re[4]: クライアントサーバへ変更
□投稿者/ ぽん (20回)-(2010/06/22(Tue) 15:12:21)
No50935 (マサヤ さん) に返信
> これはローカルにつないでる設定だと思いますが、サーバにはどのようにしてますか?

ここにまた問題がありまして、サーバにはインストールするのではなく、今開発しているマシンをサーバとしてアクセスさせるようにしたいんですが可能なのでしょうか?

> Web上にありましたら、参考文献にリンクを張っていただいていいでしょうか?

すみません。Web上の文献ではなく、書籍を参考にさせていただいております。
ちなみに、マイクロソフト公式解説書 VisualBasic2008データベース開発入門という本です。
引用返信 編集キー/
■50939 / inTopicNo.6)  Re[5]: クライアントサーバへ変更
□投稿者/ マサヤ (40回)-(2010/06/22(Tue) 15:25:28)
関係なかったらすみません。
サーバOSはなにでしょうか?

引用返信 編集キー/
■50940 / inTopicNo.7)  Re[6]: クライアントサーバへ変更
□投稿者/ ぽん (21回)-(2010/06/22(Tue) 15:29:45)
No50939 (マサヤ さん) に返信
> 関係なかったらすみません。
> サーバOSはなにでしょうか?
>

サーバというのはSQLServerをインストールしてあるマシンのことでしょうか?
だとすると、WindowsXPです。
引用返信 編集キー/
■50943 / inTopicNo.8)  Re[7]: クライアントサーバへ変更
□投稿者/ マサヤ (41回)-(2010/06/22(Tue) 15:49:12)
SQLServer Express Editionですよね?
OSもServerOSではなくXP。
SQLServer Express EditionではないエディションとServerOSを用意したらうまくいくと思います。

引用返信 編集キー/
■50949 / inTopicNo.9)  Re[3]: クライアントサーバへ変更
□投稿者/ はつね (1285回)-(2010/06/22(Tue) 16:01:41)
No50934 (ぽん さん) に返信
> Data Source=.\SQLEXPRESS2;AttachDbFilename=C:\DB\ファイル名.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

SQL Server Express Editionをリモートで接続する設定を調べてみてください。

あと、Windows XPをSQL Server Express Editionを稼働させてサーバ用途で使用する事はライセンス違反です。

WinXP Pro EULAより抜粋-------
お客様は、ファイルとプリンタの共有サービス、インターネットの情報サービス、およびリモート アクセス
(接続の共有およびテレフォニー サービスを含みます)のためにのみ本製品のサービスを利用するため、最大
10 台のコンピュータまたはその他の電子デバイス(以下各々を「デバイス」といいます) から同時に本ワー
クステーション コンピュータに接続することができます。
-------

引用返信 編集キー/
■50950 / inTopicNo.10)  Re[8]: クライアントサーバへ変更
□投稿者/ ぽん (22回)-(2010/06/22(Tue) 16:04:03)
No50943 (マサヤ さん) に返信
> SQLServer Express Editionですよね?
> OSもServerOSではなくXP。
> SQLServer Express EditionではないエディションとServerOSを用意したらうまくいくと思います。
>

ということはVBはExpress Editionでも問題ないということでしょうか?
書籍の方を読むとVisual Basic Express Editionはクライアントサーバを実現できないと書いてあるように思います。
実際にデータソースのプロパティもローカルのデータベースしか指定できないようになっているようですし。

サーバー(Windows Server 2008)はあるんですが、こちらでインストールしたりすることを極力避けなければならないので、開発マシンであるPCをサーバとしたいと思いました。

なのでVBをExpress Editionより上位のものをインストールしたらどうだろうかと思っているのですが。
引用返信 編集キー/
■50952 / inTopicNo.11)  Re[4]: クライアントサーバへ変更
□投稿者/ マサヤ (43回)-(2010/06/22(Tue) 16:12:18)
>ということはVBはExpress Editionでも問題ないということでしょうか?
>書籍の方を読むとVisual Basic Express Editionはクライアントサーバを実現できないと書いてあるように思います。
>実際にデータソースのプロパティもローカルのデータベースしか指定できないようになっているようですし。

>サーバー(Windows Server 2008)はあるんですが、こちらでインストールしたりすることを極力避けなければならないので、開発マシンであるPCをサーバ>としたいと思いました。

>なのでVBをExpress Editionより上位のものをインストールしたらどうだろうかと思っているのですが。

Express Editionは下記に書かれている通り、ビジネス向けのものではないです。
http://www.microsoft.com/japan/msdn/vstudio/2008/product/express/faq.aspx
しかし、下記のようにして書いたらパーミッションの設定さえされていれば、DBにつながるのではないでしょうか?
http://jeanne.wankuma.com/tips/csharp/sqlserver/open.html

引用返信 編集キー/
■50955 / inTopicNo.12)  Re[4]: クライアントサーバへ変更
□投稿者/ ぽん (24回)-(2010/06/22(Tue) 16:19:53)
No50949 (はつね さん) に返信
> ■No50934 (ぽん さん) に返信
>>Data Source=.\SQLEXPRESS2;AttachDbFilename=C:\DB\ファイル名.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True
>
> SQL Server Express Editionをリモートで接続する設定を調べてみてください。
>
> あと、Windows XPをSQL Server Express Editionを稼働させてサーバ用途で使用する事はライセンス違反です。
>
> WinXP Pro EULAより抜粋-------
> お客様は、ファイルとプリンタの共有サービス、インターネットの情報サービス、およびリモート アクセス
> (接続の共有およびテレフォニー サービスを含みます)のためにのみ本製品のサービスを利用するため、最大
> 10 台のコンピュータまたはその他の電子デバイス(以下各々を「デバイス」といいます) から同時に本ワー
> クステーション コンピュータに接続することができます。
> -------
>

ありがとうございます。
読んでみると10台までのPCでサーバ化するのはOKだということなんでしょうか?
だとすると最大でも5人程度のアクセスだと思われるので問題ないのでしょうか。

とは言え何だか堂々と使えないようなので、やはりきちんとサーバーにインストールし、そのにアクセスさせるのがいいのでしょうね。

そこで問題なのですが、サーバーには既にSQLServer2005がインストールされています。そこにSQLServer2008をインストールしても問題ないのでしょうか?
引用返信 編集キー/
■50956 / inTopicNo.13)  Re[5]: クライアントサーバへ変更
□投稿者/ はつね (1286回)-(2010/06/22(Tue) 16:26:05)
No50955 (ぽん さん) に返信
> 読んでみると10台までのPCでサーバ化するのはOKだということなんでしょうか?

ファイルサーバーとしてはつかえます。要はフォルダの共有をしたときのことです。


> だとすると最大でも5人程度のアクセスだと思われるので問題ないのでしょうか。

SQL Server Expressをリモートから使わせるのは何人であってもNGです。


> とは言え何だか堂々と使えないようなので、やはりきちんとサーバーにインストールし、
> そのにアクセスさせるのがいいのでしょうね。

堂々とだろうがこそこそとだろうが、ライセンス違反で使ってはダメです。


> そこで問題なのですが、サーバーには既にSQLServer2005がインストールされています。
> そこにSQLServer2008をインストールしても問題ないのでしょうか?

やめた方がいいと思います。
すでにサーバーにSQL Server 2005がインストールされているなら、
(1)SQL Server 2005向けに作成(SQL Server 2008の新機能とか使っていないなら、いまのコードでも動くと思います)。
(2)SQL Server 2005をSQL Server 2008にする(既存アプリの確認してね)
(3)Hyper-Vなど仮想環境で作成して、そこにSQL Server 2008を入れる
とかだと思います。

引用返信 編集キー/
■50961 / inTopicNo.14)  Re[6]: クライアントサーバへ変更
□投稿者/ ぽん (25回)-(2010/06/22(Tue) 16:43:14)
No50956 (はつね さん) に返信

そうですよね。
サーバーを自分たちで管理しているのであれば、好きにできるんですが委託してしまっているので、こちらでできることは(1)の方法のみですね。

ただ、SQLServer2005はconfiguration managerで管理されているようで、2008と全く違ってどうすればいいのか不明なのが現状です。
引用返信 編集キー/
■50965 / inTopicNo.15)  Re[5]: クライアントサーバへ変更
□投稿者/ 中博俊 (1421回)-(2010/06/22(Tue) 17:04:19)
で、ライセンスはこっちへおいといて、やりたいことは満たされましたか?
引用返信 編集キー/
■50967 / inTopicNo.16)  Re[6]: クライアントサーバへ変更
□投稿者/ ぽん (26回)-(2010/06/22(Tue) 17:18:24)
No50965 (中博俊 さん) に返信
> で、ライセンスはこっちへおいといて、やりたいことは満たされましたか?

とりあえずサーバーにインストール済みのSQLServer2005にデータベースを作成し、VBからはそちらへ接続する。

(1)既にサーバーのSQLServerにインスタンスが作成されており、管理上別にした方が分かりやすいのでインスタンスを別に作成しても既存の既存のデータベースの運用が停止したりすることはないんでしょうか?
(2)今回使用したいmdfファイルを開いてみましたが、エラーとなり開けませんでした。
(3)VBから接続文字列を指定する際にローカルしか選択できません。サーバーを選ぶにはどのようにしたらいいのでしょうか?Express Editionでは無理でしたらそれより上位のものを検討します。


引用返信 編集キー/
■50968 / inTopicNo.17)  Re[7]: クライアントサーバへ変更
□投稿者/ たか (78回)-(2010/06/22(Tue) 17:47:42)
ライセンスについてですが「インターネットの情報サービス」にSQL Server Expressも含まれると解釈すれば XPでもOKですよね。

実際社内?環境のみに制限加えてますがインターネットに情報(データベースのデータ)を提供するサービスなわけですし・・・


そもそもSQL Expressなんてお勉強用や開発用なんだから サーバーOS上で動かしてるところなんてほとんどないはず・・・
マイクロソフト自体そういう位置づけとして作っていてTCP/IPの接続を許してるんだから このことでライセンス違反うんぬん言ってくるとは思えません。


なのでローカルのSQL ServerExpressのTCP/IPの接続を許可に設定して使ってやればいいと思います。

引用返信 編集キー/
■50969 / inTopicNo.18)  Re[7]: クライアントサーバへ変更
□投稿者/ todo (15回)-(2010/06/22(Tue) 17:50:50)
>書籍の方を読むとVisual Basic Express Editionはクライアントサーバを実現できないと書いてあるように思います。

そんなはずはないです。
開発環境と運用環境を分けて考えましょう。

開発環境
ローカルデータベースで開発

運用環境
サーバ機のSQLServerにmdfファイルをアタッチ
クライアントアプリは、configファイルの接続文字列を変更
引用返信 編集キー/
■50970 / inTopicNo.19)  Re[8]: クライアントサーバへ変更
□投稿者/ 中博俊 (1422回)-(2010/06/22(Tue) 18:11:50)
>(1)既にサーバーのSQLServerにインスタンスが作成されており、管理上別にした方が分かりやすいのでインスタンスを別に作成しても既存の既存のデータベースの運用が停止したりすることはないんでしょうか?

インスタンスを別にするとそれだけコストが掛かりますけど大丈夫ですか?
インスタンスが違えば基本的にそれぞれ独立環境になります。

>(2)今回使用したいmdfファイルを開いてみましたが、エラーとなり開けませんでした。

基本的にバックアップ、リストアしてください。

>(3)VBから接続文字列を指定する際にローカルしか選択できません。サーバーを選ぶにはどのようにしたらいいのでしょうか?Express Editionでは無理でしたらそれより上位のものを検討します。

接続文字列は
http://connectionstrings.com/
で作成例が分かります。

AttachDBFileName機能は基本的に使えません(だったはず)ので、普通にサーバーと、DBと、ユーザとパスワードさえ渡せばOKです。


引用返信 編集キー/
■50976 / inTopicNo.20)  Re[9]: クライアントサーバへ変更
 
□投稿者/ たか (79回)-(2010/06/22(Tue) 21:19:53)
SQL Serverに環境作るのかもしれませんが Express使う場合のTCPIPの設定の仕方のリンクを一応貼っておきます。

http://www.atmarkit.co.jp/fdotnet/dotnettips/545sqlsvrnet/sqlsvrnet.html



あと上にも書いてる方もいますが既存のデータベースへの負荷を気にするようなSQL Serverであれば
開発用に使うのはよくないと思いますけどね
インスタンス分ければ原則として影響ないはずですが 間違って高負荷なSQL投げてしまったりなどで
パフォーマンスに影響を与える可能性は十分ありうると思います。
少なくとも開発環境なのにそんなこと気にしながらテストするなんて 自分は絶対やりたくないです^^


引用返信 編集キー/

次の20件>
トピック内ページ移動 / << 0 | 1 | 2 >>

管理者用

- Child Tree -