下記の様にシステムDSNを追加したいのですが、
ユーザー名&パスワードを指定するとDSNの登録が出来ません。(失敗します。)
ユーザー名&パスワードを指定しなければDSNの登録はできました。
SQL Serverのドライバは2000.80.197.00です。

Dim intRet As Long
Dim strDriver As String
Dim strParam As String

' ODBCドライバを指定する
strDriver = "SQL Server"

' データソースとして登録する属性を NullChar で区切り指定する
strParam = "Server=SERVENAME" & vbNullChar & _
"Description=Sample" & vbNullChar & _
"DSN=NewDSN" & vbNullChar & _
"Database=DB_Name" & vbNullChar & _
"UID=AAAAA" & vbNullChar & _
"PWD=BBBBB" & vbNullChar

' データソースの登録
intRet = SQLConfigDataSource(0, 4, strDriver, strParam)


分かる方いらっしゃいましたら、教えてくださいまし。m(__)m

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

A 回答 (1件)

    • good
    • 0
この回答へのお礼

結局どれも回答になっていは、いませんでした。
同じ質問をしている人も居ましたが、それには誰も回答していませんでした。

お礼日時:2003/11/11 09:03

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

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

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

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

QWSHで「ファイルUID」を取得するには?

エクスプローラの「列の設定」ダイアログに、ファイルUID という項目があります。ファイルを同一ドライブ内で移動してもこの値は変化しません。属性を変更しても変化せず、重複もないみたいなのでファイルのUnique ID なのだろうと思います。これをWSHから取得するにはどうすればいいのでしょうか?
目下、ファイル名を一旦テキストファイルに取り込んで編集してから戻すというやり方で、複数ファイル名を一括してリネームするスクリプトを書いています。ファイル名に依らずにファイルを識別するために、現在はプロパティの概要項目に、識別文字列を入力しています。この方法はNTFSでしか使えず、エクスプローラの動作も重くなります。
このファイル識別に「ファイルUID」が使えたら、と思うのですが。

Aベストアンサー

>ただ、このソフトはOSが使用しているファイル一意識別子を表示するもので、ソフト独自に一意識別子を作成しているわけではないと思うのですが。

ためしにインストールしてみました。

このファイルUID、FATに関して言えばディスク上のどこにファイルの先頭が置かれているかですね。

NTFSだと何でしょうね。pagefile.sysみたいに排他オープンされているようなファイルだとID取得できてないみたいですし。
WMIで取得できるかと思って確認してみましたがなさそうですね。

なんで、私はアプリが何らかの情報を元に独自に生成しているIDだと思います(^^;;

ちなみにFATの場合、このIDのようなものはOSは管理していません。

QRst.FindFirst "名称コード" & "=" & "'101'"

タイトルのコードでは問題ないのですが、 101 を文字変数にすると「抽出条件でデータ型が一致していません」のエラーになります。この場合シングルクオーテーションはどういう意味なのでしょうか。
どうすれば良いのでしょうか。

dim Vcode as string
Vcode = "101"
Rst.FindFirst "名称コード" & "=" & Vcode

Aベストアンサー

FindFirst や、フォームの Filter プロパティで設定する場合は、SQL文のWHERE句の
内容を設定する必要があります。

フィールド名がテキスト型の場合は、

SELECT * FROM テーブル名 WHERE フィールド名 = "xxx"

のようになります。
で、FindFirst メソッドなんかで使う場合は、

rst.FindFirst フィールド名 = "xxx"

としたいところですが、条件の部分は文字列にしないといけません。
で、

rst.FindFirst "フィールド名 = "xxx""

こうすると、

フィールド名 =

で、切れてしまいます。
そこで、

rst.FindFirst "フィールド名 = 'xxx'"

このようにすればOKです。
次のステップとして、xxx の部分を変数を使ってやりたい場合。
単純に変数名に置き換えると、

rst.FindFirst "フィールド名 = '変数名'"

ですが、変数を、"" の中に記述すると、文字列として扱われますので、"" の外に
出してやる必要があります。
その場合、文字列と変数をつなぐためには、& を使います。

rst.FindFirst "フィールド名 = '" & 変数名 & "'"

で、このようになります。

FindFirst や、フォームの Filter プロパティで設定する場合は、SQL文のWHERE句の
内容を設定する必要があります。

フィールド名がテキスト型の場合は、

SELECT * FROM テーブル名 WHERE フィールド名 = "xxx"

のようになります。
で、FindFirst メソッドなんかで使う場合は、

rst.FindFirst フィールド名 = "xxx"

としたいところですが、条件の部分は文字列にしないといけません。
で、

rst.FindFirst "フィールド名 = "xxx""

こうすると、

フィールド名 =

で、切れてしまいます...続きを読む

Qauサイトで変数のついた同一URLにリンクさせたい

PHPで3キャリア対応サイトを運用しています。
同一URLで変数をつけてページを生成しているのですが、i-modeとSBM
(vodafone)はうまくいくのですが、auがうまくいきません。
一部機種では問題ないのですが、最新機種ではリンクされません。
最新の仕様書を見ると、引数を引き継ぐようになったとのことですが、
同一URLでのリンクの方法をどなたかご教示いただければ幸いです。

ちなみに、これまでこう書いていました。
------------------------------------
<form method="POST" action="index.php">
<input type="hidden" name="nb_offset" value="{var NEXT_OFFSET}">
<input type="hidden" name="uid" value="NULLGWDOCOMO">
<input type="submit" name="update" value="次へ">
</form>
-------------------------------------
これをこう変更しました。
-------------------------------------
<a href="index.php?uid=NULLGWDOCOMO&nb_offset={var NEXT_OFFSET}">次へ</a>
-------------------------------------

どうぞよろしくお願いいたします。

PHPで3キャリア対応サイトを運用しています。
同一URLで変数をつけてページを生成しているのですが、i-modeとSBM
(vodafone)はうまくいくのですが、auがうまくいきません。
一部機種では問題ないのですが、最新機種ではリンクされません。
最新の仕様書を見ると、引数を引き継ぐようになったとのことですが、
同一URLでのリンクの方法をどなたかご教示いただければ幸いです。

ちなみに、これまでこう書いていました。
------------------------------------
<form method="POST" action="index.php">
...続きを読む

Aベストアンサー

質問の内容を理解しきっていないのですが、、、

au携帯はむやみにキャッシュする癖があります。
http://www.au.kddi.com/ezfactory/tec/spec/wap_tag11.html
no-cache指定をしていない場合は、同じURLであれば全く更新されません。
開発中のページでも、ページの内容が変わっても、反映されません。
POSTで送信している場合は、URLはindex.phpとなっているので、「ページの更新」というブラウザのリクエストを送らない限り、新しいページになりません。

その辺に問題ありませんか?
ピント外れでしたら失礼します。

参考まで。

QDim x As Integer = 0

いつもお世話になっております。

只今、本に記載してあるソースコードを手入力しています。
標記のように入力したら、『コンパイルエラー 修正候補:ステートメントの最後』というエラーが出ました。

(1)このエラーは無視してもよいのでしょうか?
(2)そもそも、変数の宣言文の後ろに=0をつけている意味がわかりません。当方VB初心者です。

よろしくお願いいたします。

Aベストアンサー

この点は(変数の宣言と初期化は)言語による、と考えるべきです。
この質問は何の質問か。
VB系統らしいことは判るが
VB以外のBASIC
VB6
VBA
VB.NET系統
のどれか質問に書くべき。質問者は経験が無くて、視野がそこまで行かないのかも知れないが。
ーーー
VBAでは(多分VBでも同じ。テスト環境がないので)
Sub test01()
Dim x As Integer
x = 0
MsgBox x
End Sub
はOK
ーー
Sub test01()
Dim x As Integer =0
MsgBox x
はDim x As Integer =0
と入力した段階でエラー。
http://www.bunsugi.ed.jp/vba4graduate/vba_hensuusyokika.htm
ーーー
定数のConstであればこういう書き方はOK
Sub test01()
Const x As Integer = 0
MsgBox x
End Sub
ーーー
VB.NETでは、OK
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim x As Integer = 10
MsgBox(x)
End Sub
ーー
Javaでは可能であるようです
http://msugai.fc2web.com/java/var2.html
ーーーーー
>ろに=0をつけている意味がわかりません
宣言と同時に値を与える=初期化する

この点は(変数の宣言と初期化は)言語による、と考えるべきです。
この質問は何の質問か。
VB系統らしいことは判るが
VB以外のBASIC
VB6
VBA
VB.NET系統
のどれか質問に書くべき。質問者は経験が無くて、視野がそこまで行かないのかも知れないが。
ーーー
VBAでは(多分VBでも同じ。テスト環境がないので)
Sub test01()
Dim x As Integer
x = 0
MsgBox x
End Sub
はOK
ーー
Sub test01()
Dim x As Integer =0
MsgBox x
はDim x As Integer =0
と入力した段階でエラー。
http://www.bunsug...続きを読む

QUIDの変更

RHEL WS4を使用しています。
ネットワーク上のPCとNFSを利用しようとしましたが、同アカウント名でUIDが違っていたために、PC1のAアカウント(UID:501)で作成したファイルがPC2ではBアカウント(UID:501)が作成したようになってしまいます。
そのため、PC1のAアカウントのUIDをPC2のAアカウント(UID:502)に変更したいのですが、変更するとこれまでにPC1で作られたファイル等のUIDは501のままなのが問題になっています。

UIDを変更したら、以前に作ったファイル等のUIDも自動的に変更するようにするためにどうしたら良いのでしょうか?

Aベストアンサー

>find -uid 501 -exec chown Aアカウント

find ディレクトリ -uid 501 -exec chown Aアカウント {} \;

ですね。

ホームディレクトリディレクトリ配下にある全てのファイル等について変更するなら、例えばホームディレクトリが/home/userの場合には

chown -R Aアカウント /home/user

でもいいかとは思います。

Qマクロで100マス計算! Dim i,j As Integer For i = 2 ToRang

マクロで100マス計算!

Dim i,j As Integer

For i = 2 ToRange(”A1”).End(xlDown).Row
For j=2 To Range(”B1”).End(xlToRight).Column

Cells(i,j).Value = Cells(i,1).Value * Cells(1,j).Value
Next j
Next i
Endsub

上記のように記述しましたが、
iの最終行が2となってしまっていますがなぜこのコードが間違っているのか分からないです。。どなたか教えていただけたら嬉しいです!

Aベストアンサー

確認してはいませんが…


>改行、スペースは実際にはきちんととっていますので気にしないでください
とのことなので、違っているのかもしれませんが、

>For i = 2 ToRange(”A1”).End(xlDown).Row
         ↓
 For i = 2 To Range(”A1”).End(xlDown).Row
で、うまくいきませんか?
100マス(10×10)と最初から決まっているので、範囲は 2 To 11 でも良いように思いますが…

改行、スペースなどが正しくなっているなら、Range(”A1”).End(xlDown).Rowの値が2以下になっている可能性が考えられます。(ということは、A1が空白セル、または、A3が空白セルなどなど・・)
A1が空白セルの場合は、
 For i = 2 To Range(”A2”).End(xlDown).Row
とするか、
 For i = 2 To 11
などとすることで、動作するのではないかと推測します。

QUIDの取得…

着うたを取ろうとしましたら、携帯端末からUIDを取得する事が出来ませんでした。と、出ました。UIDの取得の方法がわかりません。手元に説明書がないので、詳しい事がわからず…。初歩的な質問で申し訳ないのですが、どうかよろしくお願いします。

Aベストアンサー

※補足説明

質問内容に「携帯端末のUIDを取得~」とありますが、
DoCoMoで表示されるメッセージのように思われます。
・auの場合、「EZ番号通知設定を~」
・Vodafoneの場合、「ユーザID~」

で、質問者の方は、PCからi-modeシミュレータを使用して携帯サイトを閲覧してませんか?
i-modeの場合、公式サイトは必ずUIDを取得しようとします。(マイメニュー登録を実施しておけば出るはずがないメッセージ)
もし、シミュレータなどから携帯サイトを閲覧した場合シミュレータは携帯用UIDを持っていない為エラーとなります。
(非公式サイトや、マイメニュー登録が不要のサイトは閲覧可)

もし、DoCoMoの携帯を使用していて質問内容のメッセージが表示されるのであれば、サイト側のUID取得方法に問題があると思われます。
直接問い合わせてみてください。
(これ以上は記載できませんので。。)

QMicroSoft BasicのDim文とVisualBasicのDim文の違い

私が20年前にMicroSoft Basicを使っていたときは、DIM文はDIMENSIONの略で配列型変数の宣言に使っていました。

最近VisualBasicの勉強を始めたのですが、変数の宣言はすべてDim文になっており、昔のMS BasicのDim文と意味合いが変わっているのに驚いています。

ここで質問させてください。
・なぜ配列を意味するDimension文が変数の宣言なのか?
・どのバージョンのBasicからDim文の意味が変わったのか?

私が使用していたのはNEC N-Basic,N-88Basic,N-98Basicです。

Aベストアンサー

VISUAL BASIC のDimは ディメンジョンの略です。
私の経験ではVB2.0時代からありました。

配列0を考えた場合変数とおなじであるからだとおもいます

QOracleのUID

初歩的な質問ですが教えてください。

現在、RHEL4+Oracle10gを使用してデータベースを運用中ですが、
運用中にOSに登録してるOracleユーザのUIDは変更しても問題ないのでしょうか?
変更する必要に迫られ、再インストールしないといけないので考え中です。
もしUID、GIDを変更しても影響がないのであればそのまま使用したいのですが。

よろしくお願いします。

Aベストアンサー

uid については、

# chown (new_uid) `find . -user (old_uid)`

で変更可能でしょう。ただし、新しい uid が使われていた場合はダメですし、誰もログインしていない状態 (Oracle インスタンスやリスナーなども停止した状態) で行ってください。

また、gid については、/etc/oraInstloc ファイルの内容および oraInventory の内容を書き換える必要があるでしょう。

なお、OSDBA グループと OSOPER グループを変更するためには再インストールが必要になります。(コンパイル時、つまりインストール時に実行ファイルにハードコーディングされるため)

QVB6変数の宣言dim j,k,p,m,n as Integerは良くない?

お世話になります。

VB暦1年です。

汎用の変数宣言でタイトルのように
dim j,k,p,m,n as Integer
dim ssa,ssb as String

など、カンマ区切りで変数宣言を使っていたのですが
最近、知人にasの手前の変数は型どおり宣言されるが
その手前の変数はVariant型で宣言されてしまうと指摘されました。

指摘されるまで気にはしていませんでしたが
ウォッチで確認すると変数に代入されるまでは
型がVariant/Emptyとなってます。

以後、気をつければいいのですが
過去にコーディングしたプログラムにも多少、使用していて客先に納品してしまっているものもあります。
後々、問題になるのかな?

Aベストアンサー

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというようなバグの原因になりやすいので、型を明示できるような状況で敢えてVariant型を使うべきではないです。

しかし、すでに納品してしまったコードについては、問題はメモリを余計に使ってしまうことくらいではないでしょうか?
他の人が気づかなかったことから考えるに、多分狭いスコープで使っていますよね? 比較対象や代入するべき型を誤るというようなロジックの誤りがない限り、少なくとも動作上の問題は発生しないと思います。ただ、直せる機会があるのであれば、直した方がいいとは思いますが。

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというよう...続きを読む


人気Q&Aランキング