Javaプログラムから、ローカルホストで実行されているMS SQL Server 2005Expressデータベースに接続しようとしています。
MS SQL Server 2000を実行している別のシステム(同じjaveコード)で使用したものと同じ接続URL(以下)を試しましたが、機能しません。
jdbc:jtds:sqlserver://127.0.0.1:1433/Finance
何か案は?
それが正しいインスタンスであると確信していますか? SQL Expressは、標準インスタンスではなく、「localhost\SQLExpress」のような名前付きインスタンスとしてインストールされる傾向があります。したがって、次のようになります。
jdbc:jtds:sqlserver://127.0.0.1:1433/Finance;instance=<instance_name>
これが機能しない場合は、インスタンス名を削除し、ポートを名前付きインスタンスで使用されるポートに変更してみてください。
jdbc:jtds:sqlserver://127.0.0.1:<instance_port>/Finance
それ以外の場合は、最初にOSQL.exeツールを使用して接続を確認してください。 jTDS FAQ を確認することもできます。
SQLServerブラウザサービスはデフォルトで無効になっています。 .Netアプリを開発している場合は、SQLBrowserを起動する必要はありませんが、JavaでJTDSを使用している場合は、起動する必要があります。例(SQLサーバーのポートを指定する必要はありません)。
<property name="connection.url">jdbc:jtds:sqlserver://localhost/yourDbName;instance=SQLEXPRESS</property>
<property name="connection.username">yourDbUser</property>
<property name="connection.password">yourDbPassword</property>
TCP/IPが有効になっていて、ポートがブロックされていないかどうかを確認するには、「telnet1433」を使用できます。 telnetが接続しないまで、jTDSも接続しません。
e.g, c:>telnet servername 1433
windowsでTelnetクライアントを有効にするには
あなたはこれを使うことができます::
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.Microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=Test1" />
<property name="username" value="sa" />
<property name="password" value="vic123" />
</bean>