我正在尝试从Databricks执行python代码,它主要使用JDBC建立从python到sqlserver的连接。在
我使用了'jaydebeapi'python库,当我运行代码时,它会给出错误消息“jaydebeapi throws AttributeError:”_jpype.PyJPField'对象没有属性'getStaticAttribute'”
我在互联网上搜索,发现jaydebeapi中使用的Jpype库是个问题,我将其降级到0.6.3版本。在
但我还是犯了同样的错误。谁能给我解释一下如何做这个改变并运行在数据库里吗。在
或者有没有其他的图书馆我可以使用。在
为什么不直接按照下面databricks的官方文档安装Spark Connector的Microsoft JDBC Driver for SQL Server,并参考使用JDBC connect SQL Server的Python示例代码。在
如果您使用的是Azure,那么Azure数据块有相同的文档,如下所示。在
这是JayDeBeApi的已知问题,您可以在GitHub上查看该问题。在
由于0.6.3中的错误,私有变量作为接口的一部分被公开。另外,0.6.3有一个默认的类定制器,如果方法与javabean模式匹配,它会自动创建一个属性来获取和设置。此属性自定义项在许多公共java.lang语言类已加载,并且不可追溯,因此只有在初始值设定项之后发生的用户加载类才具有自定义项。私有变量错误将屏蔽属性自定义程序,因为属性自定义程序不会重写字段。一些库在不知不觉中访问私有变量,假设它们使用的是属性定制器。 定制程序是不必要的,并导致新程序员经常出错。在0.7中,错误行为已被删除,有问题的属性自定义程序在默认情况下已被禁用。在
向模块中添加行以启用旧的属性行为。但这将无法重新启用以前对私有变量的错误访问。因此,利用先前绕过java的getter/setter行为的代码将需要使用反射API。在
要启用属性自定义程序,请使用
希望这有帮助。在
相关问题 更多 >
编程相关推荐