SQLSERVERをサーバマシンにインストールし、クライアントマシンで開発したVBアプリケーションを他のマシンで実行したい場合、クライアントツールをインストールしなくとも実行できる方法はないでしょうか?

たとえば、ディストリビューションウィザードなどを使ってセットアップファイルを作成する際に、接続に必要な情報も含めてしまうとか、できないのでしょうか?

その他にも、何か良い方法があったらお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

すみません。


SQLServerはほとんど使っていないので良く分かりませんが、SQLのツールをインストールして動くということは、Mdacのバージョンの違いが疑わしいです。
VBのサービスパック、または、SQLServerに付属しているMdacをVBパッケージといっしょにインストールしては如何でしょうか?
たしか、SQLServer2000からはMdac2.6だったと思いますが、VBのサービスパックそのままでは2.5までのMdacしか配布できなかったと思います。(私は配布パッケージを置いてあるフォルダに、2.6のMdacを置いていますが、そうすればできるかも?VBのフォルダのWicardsのPDWizardのRedistフォルダのMdac.exeが配布用Mdacです)
    • good
    • 0
この回答へのお礼

ありがとうございます。
MDACというものを知りませんでした。
色々と感謝しています。
ありがとうございました。

お礼日時:2002/02/04 18:50

「クライアントツール」というのを何をさしているのかはっきりしませんが、クライアント-サーバー間の接続に何を使っているかによると思います。


一般には、VB・SQLServerでプログラムを作成する場合、接続にはOLEDB-ADO、ODBC-DAOなどがありますが(まだまだ組み合わせはあります。)、たいていの場合、ディストリビューションウィザードでいっしょに配布ができます。
また、接続のための情報(サーバーのサーバー名やユーザー名など)は、クライアントソフトで入力させるようなプログラムにするか、接続情報ファイルをいっしょに添付する、ソースの中に組み入れてしまうのが一般的だと思います。(ODBCのファイルDSN以外で情報を配布する方法は、私は知りません。すいません。今は、OLEDB-ADOの組み合わせのほうが一般的だと思いますので上記のやり方で大丈夫だと思います。)

この回答への補足

お返事ありがとうございます。
初心者なもので考え違いをしていたらごめんなさい。
VB-SQLSERVER間で作成した実行ファイル(接続は、ODBC-ADO)を他のコンピュータで実行したらエラーが出て起動しませんでした。
そのコンピュータは、開発マシンとほぼ同じ環境です。
そこで、SQLSERVERのクライアントツールをインストールしたら実行できました。
エラーの内容は、「接続が確立できませんでした」
とのことです。
ランタイム関係ではないようです。
何かやりかたを間違えているのでしょうか?
ちなみに、SQLSERVERは2000、クライアントはWin2000PROです。
すみませんがよろしくお願いします。

補足日時:2002/02/01 09:54
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel97 VBA とVBSのsplit関数

新しい職場で、Excel VBAでデータを取り込み、それを改行文字ごとにsplit関数で区切って配列に入れようとしました。

arr=split(文字列,vbcrlf)

って感じでですね。しかし、なんとその職場のExcelのバージョンが97のため、VBAでsplit関数が使えず、この意図が実現できませんでした。そのため、ネットで調べてVBScriptのsplit関数を流用しようとしたのですが、「終了していない文字列型の定数です。」とエラーが出てしまいます。ソースは次のとおりなのですが、どう直せばいいでしょうか。改行文字で区切るのでなく、カンマなどで区切るのなら、上手く出来るのですが・・・。

Sub sample()
Dim vs As Object
Dim rtn As Variant
Dim q As String
Dim buf As String

q = Chr$(34) 'ダブルクォーテーション
Set vs = CreateObject("ScriptControl")

vs.Language = "VBScript" 'Excel97のVBAにはsplit関数がないのでVBSからsplitを流用

buf = "1" & vbCrLf & "2" & vbCrLf & "3" '改行で区切った文字。実際は、もっと複雑な文字を取り込みます。
rtn = vs.Eval("split(" & q & buf & q & ", vbCrLf)") 'Excel97のVBAにはsplit関数がないのでVBSからsplitを流用
Debug.Print rtn(1) 'ここで「終了していない文字列型の定数です。」エラーが出る


End Sub

新しい職場で、Excel VBAでデータを取り込み、それを改行文字ごとにsplit関数で区切って配列に入れようとしました。

arr=split(文字列,vbcrlf)

って感じでですね。しかし、なんとその職場のExcelのバージョンが97のため、VBAでsplit関数が使えず、この意図が実現できませんでした。そのため、ネットで調べてVBScriptのsplit関数を流用しようとしたのですが、「終了していない文字列型の定数です。」とエラーが出てしまいます。ソースは次のとおりなのですが、どう直せばいいでしょうか。改行文字で区切るのでな...続きを読む

Aベストアンサー

こんばんは。

97を想定して作ってみました。97で試したわけではありませんが、試してみてください。
他にも、Replace関数がなかったと思います。

'//標準モジュール
Function mSplit(ByVal TextLine As String, ByVal Delim As String) As Variant
 Dim k As Integer
 Dim i As Integer
 Dim t As Integer
 Dim f As Integer
 Dim Ar As Variant
 TextLine = Trim(TextLine)
 k = Len(TextLine) - Len(Application.Substitute(TextLine, Delim, ""))
 k = k / Len(Delim)
 f = 1
 ReDim Ar(k)
 t = f
 For i = 1 To k + 1
  t = InStr(t, TextLine, Delim)
  If t > 0 Then
   Ar(i - 1) = Mid(TextLine, f, t - f)
   f = t + Len(Delim)
   t = t + Len(Delim)
  Else
   Ar(i - 1) = Mid(TextLine, f)
  End If
 Next i
 mSplit = Ar
End Function

'//

こんばんは。

97を想定して作ってみました。97で試したわけではありませんが、試してみてください。
他にも、Replace関数がなかったと思います。

'//標準モジュール
Function mSplit(ByVal TextLine As String, ByVal Delim As String) As Variant
 Dim k As Integer
 Dim i As Integer
 Dim t As Integer
 Dim f As Integer
 Dim Ar As Variant
 TextLine = Trim(TextLine)
 k = Len(TextLine) - Len(Application.Substitute(TextLine, Delim, ""))
 k = k / Len(Delim)
 f = 1
 ReDim Ar(k)
 t = f...続きを読む

QSQLServerのクライアントツールしかインストールできない

Windows2000 を使用しています。
自宅のPCにSQLServer2000 をインストール
しようとしたら、普通にサーバ機能とクライアント機能
の両方をインストールすることができました。

しかし、会社のPCで同じことをすると
クライアントツールしかインストールできませんと
注意メッセージがでてきます。

サーバ機能もインストールしたい時は、
どうすればよいのでしょうか?

Aベストアンサー

Windows2000のどのエディションに、SQLServer2000のどのエディションをインストールしようとしたのでしょうか?

OSとソフトのエディションの組合せによってインストールのできるかどうかが変わってきます。
参考URLのページを参照して確認してください。

参考URL:http://www.microsoft.com/japan/SQL/evaluation/overview/Feautures.asp

QVB6・Split関数・連続した空白について

お世話になります。
VB6で、データ処理を行いたいと思っています。データを読み込んで、列ごとに配列へ格納することを考えています。
しかし、データによって列の数が異なっており、行き詰ってしまいました。

最初は3列のデータだったので、単に
Input #(ファイル番号), A(i), B(i), C(i)
としたのですが、後になって6列やら、8列のデータが出てきて、通用しなくなりました。

そこで、LineInputで1行ごとに読み込み、Splitを使って値を列ごとに配列へ格納しようと考えました。
しかし、データを見ると値を区切っている空白は複数(3~8程度)で、
うまくSplitできませんでした。

以前にも、VB.NETの場合での似たような質問がされていましたが、VB6ではどのようにしたらよいのでしょうか。
当方初心者なのでお恥ずかしい質問ですが、よろしくお願いします。

Aベストアンサー

複数スペースでも配列にセットする関数を作ってみました。
十分動作確認したわけではないので、参考程度としてください。

Private Sub CommandButton1_Click()

Dim strSrc As String
Dim strDst() As String

strSrc = "ABC DEF GHI JKLMN"
strDst = split2(strSrc, " ")

End Sub

Private Function split2(ByVal strSrc As String, ByVal strDelimiter As String) As String()

Dim iTop As Integer
Dim iEnd As Integer
Dim iIndex As Integer
Dim strDst() As String

iIndex = 0
iTop = 1
Do
iEnd = InStr(iTop, strSrc, strDelimiter)
ReDim Preserve strDst(iIndex)
If iEnd = 0 Then
strDst(iIndex) = Mid(strSrc, iTop)
Else
strDst(iIndex) = Mid(strSrc, iTop, iEnd - iTop)
iIndex = iIndex + 1
iTop = iEnd + 1
Do While Mid(strSrc, iTop, 1) = strDelimiter
iTop = iTop + 1
Loop
End If
Loop While iEnd <> 0

split2 = strDst

End Function

複数スペースでも配列にセットする関数を作ってみました。
十分動作確認したわけではないので、参考程度としてください。

Private Sub CommandButton1_Click()

Dim strSrc As String
Dim strDst() As String

strSrc = "ABC DEF GHI JKLMN"
strDst = split2(strSrc, " ")

End Sub

Private Function split2(ByVal strSrc As String, ByVal strDelimiter As String) As String()

Dim iTop As Integer
Dim iEnd As Integer
Dim iIndex As Integer
...続きを読む

Q無料でインストールできたSQLServer2kですが・・・

win2kproに.netFrameWorksSDKを入れました。
file:///C:/Program%20Files/Microsoft.NET/FrameworkSDK/Samples/Setup/html/Start.htm
の手順に従い、SQLServerがインストールできました。
現在、SQL Serverサービスマネージャver8.00.382が常駐しております。

・SQL Serverって高価なモノだと思っていたのですが、特に気にせずこのまま使ってもいいのでしょうか?

・Win2kProでIIS上で利用しようと思うが人数や機能に制限は?

・WindowsUpdateでの更新項目に含まれますか?
サービスパックとかの摘要は早速必要になるのかな?
それとも個別に手作業?

・せっかくなので、SQLの勉強しようと思うけど、判りやすい書籍や情報ありませんでしょうか?

Aベストアンサー

MSDE2000がインストールされている状態です。
Microsoft SQL Server 2000 Desktop Engineというバージョンで、製品版のSQLServer2000の各種管理ツールを省略したものです。またメモリやディスクの最大容量についても製品版に比べると多少見劣りします。同時接続ユーザーについても5接続に最適化されていますので、IIS経由で使用する場合は注意したほうが良いです。

MSDEに関しては、堀川明さんが有名です。参考URLに記載されているサイトを確認してみてください。書籍の紹介もされていますよ。

参考URL:http://www.horikawa.ne.jp/msde/

QVBでCSVに書き込みをするには?

プログラム超初心者です。皆様教えて下さい。

りんご,2,100
いちご,4,500

このようなCSVファイルに
VBにて
100 を 200 に書き換えるのには、どのようにすれば
いいのでしょうか?splitで切り分けて書くようなイメージはあるのですが・・・

よろしくお願いします。

Aベストアンサー

>書き換えるのには
シーケンシャルファイルは書き換えることはできません(しません)。
別のファイルを新たに作るのです。
メモ帳に(質問のデータ)
りんご,2,100
いちご,4,500
を貼り付け、text7.csvとして保存。
Sub test01()
Open "C:\Documents and Settings\XXX\My Documents\test7.csv" For Input As #1
Open "C:\Documents and Settings\XXX\My Documents\test8.csv" For Output As #2
r = 0
While Not EOF(1)
Input #1, a, b, c
r = r + 1
If r = 1 Then
c = 200
End If
Print #2, a; ","; b; ","; c
Wend
Close #1
Close #2
End Sub
を実行し、メモ帳でtext8.csvを開くと
りんご, 2 , 200
いちご, 4 , 500
となりました。
項目前後に1文字スペースが入るが、ダメなら、Line Input で読み
Split関数で、Arrayに各項目を分離し、項目とカンマをPrintすればできるでしょう。
CSVファイルも2種ぐらいあります。
ファイルのパスのXXXの部分は適当に修正すること。

>書き換えるのには
シーケンシャルファイルは書き換えることはできません(しません)。
別のファイルを新たに作るのです。
メモ帳に(質問のデータ)
りんご,2,100
いちご,4,500
を貼り付け、text7.csvとして保存。
Sub test01()
Open "C:\Documents and Settings\XXX\My Documents\test7.csv" For Input As #1
Open "C:\Documents and Settings\XXX\My Documents\test8.csv" For Output As #2
r = 0
While Not EOF(1)
Input #1, a, b, c
r = r + 1
If r = 1 Then
c = 200
End If
Print #2, a; ...続きを読む

QSQLServerのどのエディションがインストールされているのか知りたい時は?

SQLServerのどのエディションが
インストールされているかを調べるには
どうしたらよいのでしょうか?

Windows2000
SQLServer2000

Aベストアンサー

SQLサーバーのエンタープライズマネージャーを起動して
対象のSQLサーバーインスタンスを右クリックするとプロパティが出てくると思いますのでプロパティを表示してください。

それで、エディションが表示されます。

QVB6でスプリッター(サイズ変更する分割線)を使いたい

エクスプローラーのツリービューとリストビューの間に入っている分割線、これを使用したいのです。
VC++等を使うとエクスプローラースタイルを選択すれば実装済みのプロジェクトができあがるのですが、VB6で実装する方法が分からず頓挫しています。

確か.netではSpliterオブジェクトとして標準ツール郡に入っていた覚えがあるのですが、VB6では見つけることができませんでした。

できればネット上で公開している特別なocxなどは使用せずにVB6に標準で付いてくる機能(Common Control等)で実装したいのですが、ご存知の方、ぜひご教授いただけますようお願いします。

Aベストアンサー

はい、VB6にスプリッターはありません。
ですから自力で実装します。
といっても、スプリッターコントロールを作るわけではなく、スプリッターと同じ動きに見せる感じです。

例えば、フォームの左にTreeView、右にListViewという場合。
TreeViewとListViewを、間にスプリッター分の幅を空けて配置します。これで見た目はスプリッターがあるのと同じですよね。
MouseMoveイベントで、マウスポインタがTreeViewとListViewの間にあるときは、アイコンを横矢印に変更します。
TreeViewとListViewの間でMouseDownされ、そのままMouseMoveされたとき、つまり、スプリッターを動かすのと同じ動きをしたとき、
TreeViewとListViewのサイズを変更し、マウスカーソルの移動先に、TreeViewとListViewの間が来るようにします。
フォームがリサイズされたときも、TreeViewとListViewのサイズを変更する必要がありますね。
これだけです。

.NETのスプリッターコントロールを使用するのに比べたら少し面倒ですが、コード量としては大したことないはずです。

はい、VB6にスプリッターはありません。
ですから自力で実装します。
といっても、スプリッターコントロールを作るわけではなく、スプリッターと同じ動きに見せる感じです。

例えば、フォームの左にTreeView、右にListViewという場合。
TreeViewとListViewを、間にスプリッター分の幅を空けて配置します。これで見た目はスプリッターがあるのと同じですよね。
MouseMoveイベントで、マウスポインタがTreeViewとListViewの間にあるときは、アイコンを横矢印に変更します。
TreeViewとListViewの間でMouseDo...続きを読む

QWin95マシンへのMyODBCインストール

Win95マシンへのMyODBC 3.51-02のインストールがうまくいかず、とても困っています。
ネット検索もいろいろやっているのですが、解決は見つからず...八方ふさがり、お手上げです。

MySQLのWebページからダウンロードしたMyODBCを実行してもだめで、しかも、「ODBCデータソースアドミニストレータ」でのDSN登録もだめです。

「ODBCデータソースアドミニストレータ」の「ドライバ」のリストにはMyODBC 3.51-02が表示されているので、ファイルDSNやシステムDSNの画面で「追加」を実行すると次のようなエラーが出ます。

ユーザDSNとシステムDSNでは「MySQL ODBC 3.51 Driver ODBCのセットアッププログラムを読み込むことができません(システムエラーコード1157)」

ファイルDSNでは、とりあえず登録はできるのですが、Database,Serverなどを指定しても「指定したファイル データソース パラメータを使用して接続することはできません」
登録した後で「構成」を見ようとしても、「DSNファイルは無効です」

職場で同じようにインストールしたWin95マシンは20台はあると思うのですが、3台だけこんな現象が出ています。
ためしにMyODBCを最新の3.51-04にしてもだめでした。

解決方法かヒントをご存知の方、お助けください。
よろしくお願いします。

Win95マシンへのMyODBC 3.51-02のインストールがうまくいかず、とても困っています。
ネット検索もいろいろやっているのですが、解決は見つからず...八方ふさがり、お手上げです。

MySQLのWebページからダウンロードしたMyODBCを実行してもだめで、しかも、「ODBCデータソースアドミニストレータ」でのDSN登録もだめです。

「ODBCデータソースアドミニストレータ」の「ドライバ」のリストにはMyODBC 3.51-02が表示されているので、ファイルDSNやシステムDSNの画面で「追加」を実行すると次のようなエラーが...続きを読む

Aベストアンサー

細かいところまでは不明ですけど
おそらくODBCとかMDACとかDCOM等の
バージョン違いによる問題じゃないでしょうか
Windows95ということなのでTCP/IP関連のDLLが古い可能性も
考えられますね。

それとhttp://www.mysql.com/downloads/api-myodbc.html
を見ると3.51は、development release となってますので
2.50を使ったほうが問題が起こりにくい気がします。

参考URL:http://www.microsoft.com/japan/msdn/data/download.asp

QVB 2008: 文字列の抽出手段?

付属一覧.csv

品番001, 品番001用付属1, 品番001用付属2, 品番001用付属3
品番002, 品番002用付属1, 品番002用付属2, 品番002用付属3
品番003, 品番003用付属1, 品番003用付属2, 品番003用付属3
品番004, 品番004用付属1, 品番004用付属2, 品番004用付属3
品番005, 品番005用付属1, 品番005用付属2, 品番005用付属3

このようなファイルを読み込んで入力された品番に合致する行を抜き出す。
そのような小さなプログラムを書いています。

VB.NET を知ったのは1月26日。
ですから、とにかく、一つひとつがわかりません。
で、今回の質問は、先頭の品番の抜き出し要領。

aAttachment = Split(aAttachments(M))(0)

で抜き出せることはわかります。
問題は、果たして<Split 関数だけが唯一の方法か?>ということ。

aAttachment = aAttachments(M).Column(0)

なんて方法がある筈だ!と思って探しましたが探せませんでした。
メソッドで何か Split関数に代わる方法はないのでしょうか?

<ある、ない>が知りたいです。

付属一覧.csv

品番001, 品番001用付属1, 品番001用付属2, 品番001用付属3
品番002, 品番002用付属1, 品番002用付属2, 品番002用付属3
品番003, 品番003用付属1, 品番003用付属2, 品番003用付属3
品番004, 品番004用付属1, 品番004用付属2, 品番004用付属3
品番005, 品番005用付属1, 品番005用付属2, 品番005用付属3

このようなファイルを読み込んで入力された品番に合致する行を抜き出す。
そのような小さなプログラムを書いています。

VB.NET を知ったのは1月26日。
ですから、とにかく、一つ...続きを読む

Aベストアンサー

VB2005以降ならば
ファイル自体をTextFieldParserで扱えばReadFieldsメソッドで文字列の配列として取り出せます

using myReader as new Microsoft.VisualBasic.FileIO.TextFiledParser("ファイルパス")
myReader.FieldType = new Microsoft.VisualBasic.FileIO.FieldType.Delemited
myReader.Delemiters = new String(){ "," }
dim curRow() as String

while not myReader.EndOfFile
  curRow = myReader.ReadFields()
  ' ここで分離された各項目の処理を行う
end while
end using
といった具合です

QOracleクライアントインストール後の不具合について

Oracleクライアントインストール後の不具合について教えてください。

OS:WINDOWS95のPCで今まで「ネットワークコンピュータ」からIPアドレスを変更する画面が英語になり、IPアドレスが変更できない不具合が発生していました。

原因が今までわからなかったのですが、どうやらOS:WINDOWS95のPCにOracle
クライアントをインストールするとこのような現象が起きるようなのです。

この不具合を解消する方法を誰か知らないでしょうか?
Oracle社からパッチ等出ているのでしょうか?
(Oracle社からIDを取得していないため確認できません(^^;) )

ものすごく困っているのですが...
皆さん宜しくお願いします。

Aベストアンサー

以前、同様の質問を受けて回答したものです。
お試しください。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=99368


人気Q&Aランキング