@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

プロジェクトのコピーで変な現象

投稿者投稿内容
くろんすき
会議室デビュー日: 2004/04/06
投稿数: 14
投稿日時: 2004-04-06 03:04
はじめまして。いつも大変参考にさせていただいています。
さて今回おかしな現象が発生したので理解ができないので皆様の力を貸してください。
VB.NET(WINDOWSフォーム)にてOracle.DataAccess(ODPNET)を使用してORACLEの接続を行っています。このプロジェクトをフォルダの中身を別なフォルダにコピーを行うと、
"ORA-12154: TNS: サービス名を解決できませんでした。"のエラーが表示されてしまい接続ができなくなってしまいます。フォルダのままコピーを行なった場合は問題ないです。
これは何故なのでしょうか?以下色々試した結果です。
フォルダ変名のみ(OK)
フォルダごとコピー(OK)
フォルダ内の全てのファイルコピー(NG)
フォルダ内の*.vb,*.sln,*.suo,*.vbproj,*.vbproj.userコピー(NG)
上記+bin,objフォルダも同時にコピー(NG)

究極のシンプルコード(接続部分だけ)にしても同じなので、コピーの仕方によって何かが変わる?なんてことはあるのでしょうか?
以上よろしくお願いいたします。
環境:WindowsXp Pro VS2003 Oracle9i

[ メッセージ編集済み 編集者: くろんすき 編集日時 2004-04-06 03:19 ]
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-04-06 09:40
「フォルダごと」と「中のファイルだけ」で異なる部分はフォルダなので、フォルダの違いを見てみてはどうでしょう。
権限が違うとか。
(しかし、プログラムが動くフォルダの権限でDBに接続できたりできなかったりというのは・・・ないとは思うんですけどねぇ)


あるいは隠しファイルをコピーし忘れているとか。
はにまる
ぬし
会議室デビュー日: 2003/12/19
投稿数: 969
お住まい・勤務地: 誤字脱字の国
投稿日時: 2004-04-06 09:51
はにまるです。
引用:

くろんすきさんの書き込み (2004-04-06 03:04) より:
"ORA-12154: TNS: サービス名を解決できませんでした。"のエラーが表示されてしまい接続が


このエラーは、指定された「接続先名」が「何処のサーバ・何処のDB」か解りませんと言っています。
この「接続先名」と「サーバ・DB」の関係は、tnsnames.oraに記述しますが、
コピー前は可能と言う事ですで、tnsnames.oraの問題では無いと考えられます。

ステップ実行して、コピー前とコピー後で「接続先名」の変数値が異なっていないか
確認して見て下さい。

# 久々の技術質問への返答
くろんすき
会議室デビュー日: 2004/04/06
投稿数: 14
投稿日時: 2004-04-06 14:39
一郎さん、はにまるさん早速レスありがとうございます。
接続部をシンプルにして以下のモジュールのみに
しても結果が同様なのです・・・・。
しかも動いているフォルダのプロジェクトのソースに下記モジュールを貼ってもOK
かたやだめなフォルダのプロジェクトのソースに貼ってもだめと状況が変わりません。
ORACLE内に何かを持っているとかあるのでしょうか?

Imports System
Imports System.Data
Imports Oracle.DataAccess.Client
Imports System.Configuration.ConfigurationSettings
Module Module1
Public con As New OracleConnection
Public con1 As OracleConnection
Sub main()
con.ConnectionString = "User Id=" + "scott" + ";"
con.ConnectionString += "Password=" + "tiger" + ";"
con.ConnectionString += "Data Source=" + "oracle" + ";"

Try
con.Open()
Catch ex As OracleException
Dim i As Integer
Dim err As OracleErrorCollection
err = ex.Errors

For i = 0 To err.Count - 1
MsgBox(err(i).Message)
Next
Exit Sub
End Try
MsgBox("OK")
End Sub
End Module
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-06 16:33
引用:

くろんすきさんの書き込み (2004-04-06 03:04) より:

  1. フォルダ変名のみ(OK)
  2. フォルダごとコピー(OK)
  3. フォルダ内の全てのファイルコピー(NG)
  4. フォルダ内の*.vb,*.sln,*.suo,*.vbproj,*.vbproj.userコピー(NG)
  5. 上記+bin,objフォルダも同時にコピー(NG)



 この中で、1は同じコンピュータ内ですよね。2〜5の「コピー先」は、同じコンピュータ内でしょうか、それとも他のコンピュータの共有フォルダでしょうか?
くろんすき
会議室デビュー日: 2004/04/06
投稿数: 14
投稿日時: 2004-04-06 16:58
全て同じマシン。
ローカルにインストールしたORACLEにローカルより接続。
ローカルのデスクトップのフォルダにてコピーしています。
もともと動くものもローカルのデスクトップです。
はにまる
ぬし
会議室デビュー日: 2003/12/19
投稿数: 969
お住まい・勤務地: 誤字脱字の国
投稿日時: 2004-04-06 17:38
はにまるです。

 確かにスレッドタイトル通り「変な現象」ですね。

 私が想像出来るのは、フォルダー移動により
 参照する tnsnames.ora が変っている位です。
くろんすき
会議室デビュー日: 2004/04/06
投稿数: 14
投稿日時: 2004-04-14 20:01
解決です。FAQだったかもしれないですが実行フォルダに”(”が入っているとNGのようでした。

スキルアップ/キャリアアップ(JOB@IT)