我有一个小程序,该程序执行ftp命令以从计算机中检索csv文件并读取csv文件并将信息存储到数据库中。
我遇到了不断收到错误消息的问题
System.Data.OleDb.OleDbException(0x80004005):ORA-12170:TNS:Connect 发生超时System.Data.OleDb.OleDbException(0x80004005): ORA-12170:TNS:连接超时发生在
中的GetPLCData_P1M1.ConnectOracle_NoUse.OpenConn()C:\ Users \ shaari \ Desktop \ Workspace \ Current \ Midware \ GetData_Mitsubishi \ GetPLCData \ GetPLCData \ ConnectOracle_NoUse.vb:line 30在GetPLCData_P1M1.Form1.GetTableStructure(String mTableName)中 C:\ Users \ shaari \ Desktop \ Workspace \ Current \ Midware \ GetData_Mitsubishi \ GetPLCData \ GetPLCData \ Form1.vb:line 1449
我在3台PC中有此程序。其他2台PC则没有此问题。当我为所有程序使用相同的设置时,只有1台PC出现此问题。唯一的区别在于机器名称和类别。其他具有此程序的2台PC各自仅运行1个程序,而这台特殊的PC具有2个正在运行此程序。对不起,我的英语不好。。这是说我总共有4台机器,分别是A,B,C和D。程序A用于获取机器A中的数据,该程序在PC A中运行。程序B是程序C 用于在计算机B中获取数据,并且该程序在PC B中运行。程序C 用于在计算机C中获取数据,并且该程序在 PC C 中运行。 程序D 用于获取计算机D中的数据,该程序在 PC C 中运行。请注意,PC C正在运行两个程序,分别是程序C和D。这是什么导致TNS超时发生?请建议我解决这个问题。我在这个问题上花了大约1个月的时间,但仍然找不到逻辑解释为什么会发生。如果是这样的话。请给我建议也可以在哪里再次检查以解决此问题。
OracleConnectionString = "Provider=OraOLEDB.Oracle.1;User ID=user;Data Source=source;Password=pass" 'This line inside the app setting file
代码
Public Function GetTableStructure(mTableName As String) As DataTable
Try
Dim dt As DataTable = New DataTable
Dim pstruct As String = "Select * from " & mTableName & " where 1 = 2 "
Dim Addap As OleDbDataAdapter
OracleConnString As String = ConfigurationSettings.AppSettings("OracleConnectionString")
OpenConn()
ds.Clear()
ds.Tables.Clear()
Addap = New OleDbDataAdapter(pstruct, strCon)
Addap.Fill(ds, "PLC_Realtime_Log")
dt = ds.Tables("PLC_Realtime_Log")
Return dt
Catch ex As Exception
Trace.WriteLine(ex.ToString)
Return Nothing
End Try
End Function