ODP.NET接続不可

このQ&Aのポイント
  • NET Framework Data Provider for Oracleを利用してOracleに接続したいのですが、接続できません。
  • VB2005を使用してOracle Ver 10g R2に接続する方法についてご教授願います。
  • SqlPlusを使用して接続すると接続はできますが、ODP.NETでは接続できません。
回答を見る
  • ベストアンサー

ODP.NET接続不可

NET Framework Data Provider for Oracle を利用してOracleに接続したいのですが、接続できません。なにが間違っているかが不明です。ご教授願います。 開発言語 VB2005 Oracle Ver 10g R2 OS Windows Xp SP3 MDAC 2.8 Sp1 Oracleへの接続手順 Dim StrCnn As String = "Data Source=ORCL;User ID=system;Pass Word=ooracle" dim ds as system.data.dataset dim strcmd = "Select * From TBL" Using Cn As New OracleConnect(strCnn) Dim Cmd as New OracleCommand(strcmd, Cn) Dim Adp as New OracleAdapter(Cmd) adp.Fill(ds) 実行すると下記のエラーが表示されます。    ORA-12154: TNS:指定された接続識別子を解決できませんでした。" ☆ SqlPulsで接続すると接続はできます。    ユーザ   system パスワード oracle ホスト ORCL 環境変数 %ORACLE_HOME%の値は        c:\oracle\product\10_2_0\client_1

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

  • ベストアンサー
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

「Oracleへの接続手順」はコードのとおりでしょうか? だとしたらパスワードが違うようですが……。

iandt2251
質問者

お礼

ありがとうございます。 パスワードは入力ミスです。 Password=oracleで定義しております。 いろいろ調査し、Microsoft側のSystem.Data.OracleClient の定義が 廃止される予定なので、Oracle社のDllを使用する様に変更しまた。

関連するQ&A

  • Oracleへの接続について

    OS:WindowsWp 言語:Visual Studio 2005 Visual Basic データベース:Oracle10g ご教授願います。 1つのクラスでデータベースへの接続メソッド・SQL文発行メソッド、切断メソッドを実装し、それらを状況に応じて呼び出し、データの取得を行いたいと考えております。 以下、ソースです。 --------クラスここから Public Class ConnectOracle  Public myConnection as New OracleConnection  Public Sub ConnectDB()・・・(1)   myConnection.ConnectionString = "User ID=scott;Password=tiger;Data Source=orcl"   myConnection.Open()  End Sub  Public Sub SqlDB()・・・(2)   Dim cmd As OracleCommand = New OracleCommand("SELECT * FROM EMP")   cmd.Connection = myConnection   cmd.CommandType = CommandType.Text   Dim reader As OracleDataReader = cmd.ExecuteReader()   ・・・・  End Sub  Public Sub DisConnectDB()・・・(3)   myConnection.Close()  End Sub --------クラスここまで Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click  Dim Conn As New ConnectOracle・・・上記のクラス  Conn.ConnectDB()・・・(4)  Conn.SqlDB()・・・(5)  Conn.DisConnectDB()・・・(6) End Sub (4)実行でOracleに接続が行われ、クローズしていないのに、(5)を実行したときにはデータベースへの接続が切断されました。実装方法がおかしいでしょうか?

  • VB.NET2005からoracle92へ接続するには?

    IDとパスワードを入力し、オラクルのDBにあるIDとパスワードだったら次の画面を開くというプログラムを作りたいです。 オラクルへの接続がうまく行ってないようで画面が固まってしまいます。 プログラムの不具合を教えていただけないでしょうか? よろしくお願いします。 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim cn As New OleDb.OleDbConnection() Dim cmd As New OleDb.OleDbCommand() Dim rs As OleDb.OleDbDataReader cn.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=*;User ID=*;Password=*;" cn.Open() '←ここで、エラーになります。 cmd = cn.CreateCommand() cmd.CommandText = "Select ID from abc" rs = cmd.ExecuteReader() While rs.Read() If TextBox1.Text = cmd.CommandText Then MessageBox.Show("パスワードを受付けました。") Dim frm2 As New Form2 frm2.Show() TextBox1.Clear() TextBox2.Clear() Else MessageBox.Show("パスワードが違います。") TextBox1.Text = "" TextBox1.Focus() TextBox1.Clear() TextBox2.Clear() End if     End While cn.Close() rs.Close() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub End Class

  • VB.NET2005からoracle92へ接続する方法。

    IDとパスワードを入力し、オラクルのDBにあるIDとパスワードだったら次の画面を開くというプログラムを作りたいです。 オラクルへの接続がうまく行ってないようで画面が固まってしまいます。 プログラムの不具合を教えていただけないでしょうか? よろしくお願いします。 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim cn As New OleDb.OleDbConnection() Dim cmd As New OleDb.OleDbCommand() Dim rs As OleDb.OleDbDataReader cn.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=*;User ID=*;Password=*;" cn.Open() '←ここで、エラーになります。 cmd = cn.CreateCommand() cmd.CommandText = "Select ID from abc" rs = cmd.ExecuteReader() While rs.Read() If TextBox1.Text = cmd.CommandText Then MessageBox.Show("パスワードを受付けました。") Dim frm2 As New Form2 frm2.Show() TextBox1.Clear() TextBox2.Clear() Else MessageBox.Show("パスワードが違います。") TextBox1.Text = "" TextBox1.Focus() TextBox1.Clear() TextBox2.Clear() End if     End While cn.Close() rs.Close() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub End Class

  • ASP.NETで検索結果の上位50位を表示するには?

    ASP.NETで開発を初めて2,3日目です。      検索条件を入力して   結果を表示させると言う事を   やろうとしてます。   初期画面(検索条件の入力) ↓ (パラメタ渡し)   検索結果 検索条件を入れないと、全件表示になるので   表示が遅くなる、固まるなどの恐れがあるので   あらかじめ検索結果の件数を取得して   50件以上なら最初の50件だけ表示して   後はページングを言う事をやろうと思ってます。   どうゆう記述をすれば出来るでしょうか? 現在はSQL文の結果を全件表示になってます。 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim MyConnString As String = "Data Source=Oracle_server;user ID=スキーマ;PASSWORD=パスワード;" Dim cn As New OracleConnection(MyConnString) cn.Open() DIM SQL文 SQL文 ="select * from 対象TABLE WHERE 項目名 = '" & 検索条件 & "' order by " & 検索条件 Dim cmd As New OracleCommand(SQL文, cn) Dim DR As OracleDataReader = cmd.ExecuteReader() DataGrid1.DataSource = DR DataGrid1.DataBind() End Sub 

  • オラクルデータベースへの更新方法

    Visual Basic 2008 を使用しています。(初心者です) ODP.NETにてデータセットし、 オラクルのテーブルを読み込む事は可能なのですが、 データセットに更新して、 オラクルのテーブルレコードを更新する方法がわかりません。 【】内にソースを記載して頂ければ幸いです。 ご伝授願いたく宜しくお願い致します。 例) オラクルテーブル名= 社員マスター フィールド= 社員番号、社員名 Imports Oracle.DataAccess.Client Imports Oracle.DataAccess.Types Dim cnn As New OracleConnection Dim cmd As New OracleCommand Dim dsList As New DataSet Dim adp As New OracleDataAdapter(cmd) cnn.ConnectionString = "user id=ITS;password=ITS;data source=ITS" cmd.Connection = cnn '社員番号 777 がオラクルテーブルにあるか cmd.CommandText = "Select * from 社員マスター WHERE 社員番号 = 777 " adp.Fill(dsList, "EMPMSTR") 'DataSetの件数が0なら If dsList.Tables("EMPMSTR").Rows.Count = 0 Then 【ここに記載すると思いますが、 社員番号=777 社員名=太郎 をデータセットとオラクルテーブルに追加するソースをお願い致します。】 else '社員番号 777 がある場合。 【ここに記載すると思いますが、 社員番号=777 の 社員名を 太郎 に変更し、データセットとオラクルテーブルを更新するソースをお願い致します。】 end if

  • DB接続文字列の一般的プログラミング方法について

    DB接続プログラムで Dim connectionString As String Dim Cn As New SqlConnection Dim cmd As SqlCommand Dim ServerName As String = "(local)" 'サーバー名(またはIPアドレス) Dim UserID As String = "sa" 'ユーザーID Dim Password As String = "" 'パスワード Dim DatabaseName As String = "ogawaDB" 'データベース connectionString = "Server=" & ServerName & ";" connectionString &= "User ID=" & UserID & ";" connectionString &= "Password=" & Password & ";" connectionString &= "Initial Catalog=" & DatabaseName Cn.ConnectionString = connectionString cmd = Cn.CreateCommand cmd.CommandText = "SELECT id FROM table1" Cn.Open() Debug.Print(cmd.ExecuteScalar) Cn.Close() cmd.Dispose() Cn.Dispose() のデータベース接続プログラムで connectionStringにデータベース接続情報を書くと思うのですが これを各プログラム毎に記述していたのでは変更が生じた場合 管理が大変だと思うのですがこの記述情報をファイルから読みっとったり して対応するのでしょうか。 一般的の接続文字列の管理方法(プログラミング方法)を 教えてください

  • ASP.NET(VB.NET)でADO.NETを使ってAccessデータベースに接続する方法(長文)

    ASP.NETでADO.NETを使ってAccessデータベースに接続し、table2という名前のテーブルのidをテキストボックスに入力し、ボタンを押すとデータグリッドでそのidのデータが表示されるアプリケーションを作りました。が、自分で書いていても意味がわかりません。手元にあるのはASP.NETでSQLServerに接続する方法について解説してある書籍と、Accessに接続するもののWindowsアプリケーションからの接続(しかも表示させる物が違う)について解説してある書籍のみです。これらを組み合わせてなんとか表示させるまではできたのですが、全く意味がわかりません。どなたかご解説いただけないでしょうか? また、ASP.NET(VB.NET)でAccessデータベースと接続するアプリケーションについて触れてあるような書籍をご存知の方がいらっしゃいましたら、是非教えていただけないでしょうか?よろしくお願いいたします。 以下はボタンクリックされたときのイベントハンドラです。コードの先頭でImports System.Data.OleDbしてあります。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim dt As Integer Dim cn As New OleDbConnection("provider=microsoft.jet.oledb.4.0; Data Source=C:\nabe\採用\新人研修用\.NETコース\DB\kensyu2.mdb;") cn.Open() Dim cmd As New OleDbCommand("select * from table2 where id =?", cn) cmd.Parameters.Clear() cmd.Parameters.Add("param1", TextBox1.Text) dt = CType(cmd.ExecuteScalar(), Integer) Dim dr As OleDbDataReader = cmd.ExecuteReader() DataGrid1.DataSource = dr DataGrid1.DataBind() dr.Close() cn.Close() End Sub

  • vb2005.netでCrystalReports

    クリスタルレポート初心者です。宜しくお願いします。 以下のソースでクリスタルレポートから印刷を行っていますが、最後にSQLSERVERのパスワード入力のダイアログが出てしまいます。 Dim cn As New SqlClient.SqlConnection Dim cmd As New SqlClient.SqlCommand Dim oDataAdapter As New SqlClient.SqlDataAdapter Dim oDataSet As DataSet = New DataSet Dim oCryRepo As HIJYUU = New HIJYUU cn.ConnectionString = "Server=192.168.1.1;Initial Catalog=TESTDB;ID=sa;Passworsd="pw001;" cn.Open() cmd.Connection = cn cmd.CommandText = "select * from h_tbl where ndate='" & "20110715" & "'" oDataAdapter.SelectCommand = cmd oDataSet.Clear() oDataAdapter.Fill(oDataSet, "H_TBL") oCryRepo.SetDataSource(oDataSet) crView.ReportSource = oCryRepo cn.Close() パスワード入力のダイアログを出さずに印刷する方法を教えていただきたいのですが。 その画面でパスワードを入力すれば正常に印刷されます。 環境はVB2005.NET、それにバンドルされているクリスタルレポート、sqlserver2008です。 以上、宜しくお願い致します。

  • エクセルからSQLの接続の仕方

    エクセルを使ってMSSQLに接続したいのですが、エラーがでて接続できません。 なぜでしょうか? [エラー内容] コンパイルエラー: ユーザー定義型は定義されれいません。 コードの下の部分で発生します。 Dim Cn As New System.Data.SqlClient.SqlConnection [コード] Private Sub CommandButton1_Click() Dim St As String Dim Cn As New System.Data.SqlClient.SqlConnection Dim SQL As System.Data.SqlClient.SqlCommand Dim ServerName As String Dim UserID As String Dim Password As String Dim DatabaseName As String ServerName = "TEST-PC" 'サーバー名(またはIPアドレス) UserID = "sa" 'ユーザーID Password = "password" 'パスワード DatabaseName = "TEST_DB_20140801" 'データベース St = "Server=" & ServerName & ";" & "User ID=" & UserID & ";" & "Password=" & Password & ";" & "Initial Catalog=" & DatabaseName Cn.ConnectionString = St SQL = Cn.CreateCommand SQL.CommandText = "SELECT * FROM LOG_DATA_XLINE" Cn.Open MsgBox (SQL.ExecuteScalar) Cn.Close SQL.Dispose Cn.Dispose End Sub

  • VB2005 SQL INSERTについて

    VB2005 Express Editionを使用しています。レコードの追加を以下のように行っておりますが、追加されません。プログラミングの世界に入ったばかりでどこが違うのか全く分かりません。ご教授ください。また、参考になるサイトがあれば教えてください。 Dim Cn As New SqlConnection Cn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename" & "=|DataDirectory|\Database1.mdf;Integrated Security=True;" & "User Instance=True" Dim cmd As New SqlCommand cmd.Connection = Cn cmd.CommandText = "INSERT INTO USER_ID (ユーザー名, パスワード) VALUES ('AAA', 'XXX')" Cn.Open() cmd.ExecuteNonQuery() Cn.Close()