爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4153|回复: 11

如何在脚本中连接Microsoft SQL Server 的数据库?

[复制链接]

新浪微博达人勋

发表于 2017-2-22 09:54:20 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
请问王老师,脚本有相应的模块连接Microsoft SQL Server 数据库么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-2-22 12:27:35 | 显示全部楼层
脚本用的Jython,可以调用Java库,可以用Java连接数据库的功能。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-22 21:08:29 | 显示全部楼层
MeteoInfo 发表于 2017-2-22 12:27
脚本用的Jython,可以调用Java库,可以用Java连接数据库的功能。

请问怎么调用,有没有示例代码或者类似的伪代码?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-22 21:31:22 | 显示全部楼层
MeteoInfo 发表于 2017-2-22 12:27
脚本用的Jython,可以调用Java库,可以用Java连接数据库的功能。

我上网查了一下,连接ms的数据库需要导入一些包,这些应该是在项目编译时完成的吧,我在meteoinfo的lib目录没有看到需要的包,王老师是不是可以发布一版带有连接数据库功能包的版本呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-2-23 08:32:48 | 显示全部楼层
zyfws 发表于 2017-2-22 21:31
我上网查了一下,连接ms的数据库需要导入一些包,这些应该是在项目编译时完成的吧,我在meteoinfo的lib目 ...

可以用Java自带的JDBC功能,比如:
from java.sql import DriverManager
conn = DriverManager.getConnection("jdbc:sqlserver://xxxsql01.foo.com:1433;databaseName=DBName", "user", "pass")

我没时间测试,你自己多试试。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-7 08:44:44 | 显示全部楼层
MeteoInfo 发表于 2017-2-23 08:32
可以用Java自带的JDBC功能,比如:
from java.sql import DriverManager
conn = DriverManager.getConn ...

连接数据库的语句可以在meteoinfolab中执行,但是不能用milab.bat调用,请问老师是什么原因?
我的连接语句是:conn = DriverManager.getConnection("jdbc:sqlserver://192.168.1.59;DatabaseName=xxzx", "sa", "pwd")
在调用bat文件执行到这一句会中止
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-7 08:55:40 | 显示全部楼层
zyfws 发表于 2017-4-7 08:44
连接数据库的语句可以在meteoinfolab中执行,但是不能用milab.bat调用,请问老师是什么原因?
我的连接 ...

有错误信息吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-7 16:17:50 | 显示全部楼层

没有,用milab调用的时候似乎不提示错误信息,就是程序中止,然后在新的一行出现命令提示符光标,如图: error.PNG
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-7 16:20:13 | 显示全部楼层
zyfws 发表于 2017-4-7 16:17
没有,用milab调用的时候似乎不提示错误信息,就是程序中止,然后在新的一行出现命令提示符光标,如图:

那你怎么知道在哪一行语句出的问题,可以多加一些打印语句确认一下出问题的代码
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-7 22:10:27 | 显示全部楼层
MeteoInfo 发表于 2017-4-7 16:20
那你怎么知道在哪一行语句出的问题,可以多加一些打印语句确认一下出问题的代码

我就是加了print来判断的,这条语句下一行有个print语句,注释这条数据库语句后print的内容可以显示,取消注释后print的内容就出不来了
...
conn = DriverManager.getConnection("jdbc:sqlserver://192.168.1.59;DatabaseName=xxzx", "sa", "pwd")
print('test')
...
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表