OS:Windows7Sp1
VisualStudio2017community
言語:VisualBasic.NET
vb
1Imports System 2Imports System.Data 3Imports Oracle.DataAccess.Client 4Public Class Form1 5 6 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 7 8 Dim strUser As String 'ユーザー 9 Dim strPasswd As String 'パスワード 10 Dim strDataSource As String 'データソース 11 Dim strConnectstring As String 12 Dim oraCon As OracleConnection 13 14 strUser = "tst" 15 strPasswd = "tst" 16 strDataSource = "TST010" 17 strConnectstring = "User Id=" & strUser & "; " & "Password=" & strPasswd & "; " & "Data Source=" & strDataSource 18 oraCon = New OracleConnection(strConnectstring) 19 20 Try 21 oraCon.Open() 22 Console.WriteLine("Connection to Oracle database established successfully !") 23 MsgBox("Connection to Oracle database established successfully !") 24 Console.WriteLine(" ") 25 26 '(1)は正常(2)は「指定されたキャストは有効ではありません」と表示される 27 28 'Dim cmdQuery As String = "SELECT CD, NM FROM TST.TS_FLG" '(1) 29 'Dim cmdQuery As String = "SELECT ID, FLG FROM TST.TK_WORK"'(2) 30 31 ' Create the OracleCommand object 32 Dim cmd As OracleCommand = New OracleCommand(cmdQuery) 33 cmd.Connection = oraCon 34 cmd.CommandType = CommandType.Text 35 36 Dim reader As OracleDataReader = cmd.ExecuteReader() 37 While (reader.Read()) 38 39 ' Output Employee Name and Number 40 MsgBox("reader.GetDecimal(0) & 41 " , " & 42 reader.GetString(1)) 43 44 End While 45 46 Catch ex As Exception 47 MsgBox(ex.Message) 48 49 Finally 50 ' Close and Dispose OracleConnection object 51 oraCon.Close() 52 oraCon.Dispose() 53 End Try 54 55 End Sub 56End Class
(1)の場合Selectが実施できるのですが、(2)の場合
「指定されたキャストは有効ではありません」と「MsgBox(ex.Message)」
に表示されてしまいます。
(1)のカラム情報、TST.TS_FLGテーブル
CD:NUMBER(1,0) NOT NULL
NM:NVARCHAR2(20)
(2)のカラム情報、TST.TK_WORKテーブル
ID:VARCHAR2(12) NOT NULL
FLG:NUMBER(1,0) DEFAULT 0
(1)は正常なのですが(2)にて「指定されたキャストは有効ではありません」
と表示されるのは何故でしょうか?
また、どうすれば(2)の処理は正常になりますでしょうか?
(1)と(2)はsqlplusでは両方ともselectが正常に実施されました。
宜しくお願いします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/11 07:16