无法将数据写入MySql的流集中的JDBC Producer

时间:2018-10-15 05:01:47

标签: streamsets

我已经在管道中配置了JDBC连接配置。

当应用程序执行时,我在日志中收到以下错误。

 <Services.WebMethod()> _
    Public Shared Function GetClientName(ByVal pcat As String, ByVal domain As String, ByVal region As String) As List(Of String)

        Dim empResult As List(Of String) = New List(Of String)()
        Sql = "SELECT * FROM opportunities where PCategory ='" & pcat & "' and Domain ='" & domain & "' and Region='" & region & "'"


        Dim cmd = New MySqlCommand(Sql, conn1)
        reader = cmd.ExecuteReader()
        While (reader.Read())
            empResult.Add(reader("OppName").ToString())
        End While
        reader.Close()
        Return empResult
    End Function

databaseName不是我设置的。

我尝试了很多次。它显示相同的消息,无法在不同的数据库中找到该表,问题是sdc.log中出现的所有数据库都是我从未配置过的,并且从未使用过正确的数据库,所以我想知道它找到了错误的数据库,而我在启动管道之前已经检查过,并且显示成功:

enter image description here

2 个答案:

答案 0 :(得分:0)

  

在JDBC的模式名称配置中是否设置了任何内容   制片人?对于MySQL,这应该是空白的,因为您要设置   连接URL中的数据库/方案名称。

     

检查您的MySQL驱动程序是否与服务器匹配。特别是使用   当前版本为5.x.x的8.0.x JDBC驱动程序似乎   导致这个问题。下载较旧的5.1.x驱动程序(当前   5.1.46),它应该可以工作。

推荐this

答案 1 :(得分:0)

此问题确实是由错误的驱动程序包版本引起的。我找到了正确的驱动程序包,并将数据成功写入了目标表。另外,我将SCHEMA NAME设置为空白,并在mysql的连接URL中定义了数据库名称。 我英文不太好。请原谅我。