1

sqljdbc4 を使用して Intellij で SQL SERVER 2008 のデータソースを設定しようとしていますが、java.lang.NullPointerException のエラー ウィンドウが表示されます。

私が試したURL: jdbc:sqlserver://localhost\.:1433;databaseName=mobitrack jdbc:sqlserver://localhost:1433;databaseName=mobitrack しかし同じ結果。

何が例外を引き起こす可能性があるかについて何か考えはありますか?

前もって感謝します。

例外のスクリーンショットは次のとおりです: http://i.imgur.com/idIwYqP.png

idea.log:

2013-03-22 17:13:12,770 [7171087]   INFO - ution.rmi.RemoteProcessSupport - "c:\program files\jetbrains\intellij idea 11.0\jre\jre\bin\java" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA 11.0\plugins\DatabaseSupport\lib\jdbc-console.jar;C:\Program Files\JetBrains\IntelliJ IDEA 11.0\lib\util.jar;C:\Program Files\JetBrains\IntelliJ IDEA 11.0\lib\annotations.jar;D:\sqljdbc4-4.0.2206.100.jar" com.intellij.persistence.database.console.RemoteJdbcServer com.microsoft.sqlserver.jdbc.SQLServerDriver 
2013-03-22 17:13:13,532 [7171849]   INFO - ution.rmi.RemoteProcessSupport - Port/ID:30598/RemoteDriverImple39ef7c1 
2013-03-22 17:13:14,333 [7172650]  ERROR - j.javaee.dataSource.DataSource - null 
java.lang.NullPointerException
    at com.intellij.javaee.dataSource.DatabaseSchemaLoader.getSchemasToLoad(DatabaseSchemaLoader.java:77)
    at com.intellij.javaee.dataSource.DataSource$1.perform(DataSource.java:324)
    at com.intellij.javaee.dataSource.DataSource$1.perform(DataSource.java:317)
    at com.intellij.javaee.dataSource.DataSource.performJdbcOperation(DataSource.java:257)
    at com.intellij.javaee.dataSource.DataSource.refreshMetaData(DataSource.java:317)
    at com.intellij.javaee.module.view.dataSource.DataSourceUiUtil$4.run(DataSourceUiUtil.java:138)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:457)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$5.run(ProgressManagerImpl.java:276)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:206)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:169)
    at com.intellij.openapi.application.impl.ApplicationImpl$8$1.run(ApplicationImpl.java:617)
    at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:410)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:135)
2013-03-22 17:13:14,334 [7172651]  ERROR - j.javaee.dataSource.DataSource - IntelliJ IDEA 11.0  Build #IU-111.69 
2013-03-22 17:13:14,334 [7172651]  ERROR - j.javaee.dataSource.DataSource - JDK: 1.6.0_29 
2013-03-22 17:13:14,334 [7172651]  ERROR - j.javaee.dataSource.DataSource - VM: Java HotSpot(TM) Client VM 
2013-03-22 17:13:14,334 [7172651]  ERROR - j.javaee.dataSource.DataSource - Vendor: Sun Microsystems Inc. 
2013-03-22 17:13:14,335 [7172652]  ERROR - j.javaee.dataSource.DataSource - OS: Windows 7 
2013-03-22 17:13:14,353 [7172670]   INFO - ution.rmi.RemoteProcessSupport - Process finished with exit code 1
4

1 に答える 1

0

はい、その URL は正しくありません。これを試して:

jdbc:sqlserver://localhost:1433;databaseName=mobitrack

まず最初に、SQL Server リスナーが起動し、ポート 1433 でリッスンしていますか?

コマンド シェルを開き、 と入力しnetstat -aます。ポート 1433 に表示LISTENINGされない場合、Java は接続できません。

NullPointerException接続していないわけではありません。何か他のことが間違っているに違いない。

スタック トレースを出力します。null参照があったファイルと行番号がわかります。デバッガーでステップスルーし、何がなぜなのかを確認してください。

その JDBC ドライバー JAR をどこで入手したかはわかりませんが、私が SQL Server 用に使用しているものは sqljdbc.jar という名前です。ドライバー JAR を更新してみて、それが役立つかどうかを確認してください。

私は IntelliJ でこれを行うことができるので、あなたもできます。

于 2013-03-22T14:44:10.117 に答える