Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 将值从一个笔记本传递到另一个笔记本-Databrick_Scala_Databricks_Azure Databricks - Fatal编程技术网

Scala 将值从一个笔记本传递到另一个笔记本-Databrick

Scala 将值从一个笔记本传递到另一个笔记本-Databrick,scala,databricks,azure-databricks,Scala,Databricks,Azure Databricks,我从databricks连接到azure sql server,为此我使用jdbc连接器 val jdbcUsername = "user1" val jdbcPassword = "pwd1" val jdbcHostname = "XXXXsqldevussc.database.windows.net" val jdbcPort = 1111 val jdbcDatabase ="XXXXacttrackdev" 我正在创建JDBCURL,如下所示 import java.util.Pr

我从databricks连接到azure sql server,为此我使用jdbc连接器

val jdbcUsername = "user1"
val jdbcPassword = "pwd1"
val jdbcHostname = "XXXXsqldevussc.database.windows.net" 
val jdbcPort = 1111
val jdbcDatabase ="XXXXacttrackdev"
我正在创建JDBCURL,如下所示

import java.util.Properties

val jdbc_url = s"jdbc:sqlserver://${jdbcHostname}:${jdbcPort};database=${jdbcDatabase};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=60;"
val connectionProperties = new Properties()
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")  
val cP = connectionProperties

val driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
connectionProperties.setProperty("Driver", driverClass)
这些都在一个公用文件夹中的笔记本中,现在我想将这些值传递到项目文件夹中的笔记本中。使用dbutils.notebook.exit,我可以只传递一个值jdbc_url,但我还需要将connectionProperties传递给其他笔记本。有人能帮我做这件事吗。我试图在两个单独的dbutils.notebook.exit中传递这两个值,但出现了一个错误

dbutils.notebook.exit(jdbc_url) // works well
dbutils.notebook.exit(cP) //throws an error command-2330564045697042:1: error: type mismatch;
                          // found   : java.util.Properties 
                          // required: String
                          // dbutils.notebook.exit(cP)
如何使用dbutils.notebook.exit传递这两个值。谢谢你的帮助

谢谢

您正在尝试使用dbutils.notebook.exit返回java.util.Properties对象。但是,dbutils.notebook.exit仅支持字符串

所以您可能需要将属性对象转换为字符串。比如:

    public static String getPropertyAsString(Properties prop) {    
      StringWriter writer = new StringWriter();
      prop.list(new PrintWriter(writer));
      return writer.getBuffer().toString();
    }

    dbutils.notebook.exit(getPropertyAsString(cP))   
您可以将字符串读回其他笔记本中的Properties对象

您正在尝试使用dbutils.notebook.exit返回java.util.Properties对象。但是,dbutils.notebook.exit仅支持字符串

所以您可能需要将属性对象转换为字符串。比如:

    public static String getPropertyAsString(Properties prop) {    
      StringWriter writer = new StringWriter();
      prop.list(new PrintWriter(writer));
      return writer.getBuffer().toString();
    }

    dbutils.notebook.exit(getPropertyAsString(cP))   

您可以将字符串读回其他笔记本中的Properties对象

任何帮助都将非常感激任何帮助都将非常感激