日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

java jdbc mysql url_java – 如何生成JDBC数据库URL?

發(fā)布時間:2025/3/12 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java jdbc mysql url_java – 如何生成JDBC数据库URL? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我今天已經(jīng)研究了大約3個小時,我覺得我很接近,但我有幾個問題.我到目前為止找到的最好的信息來源是:

https://stackoverflow.com/a/2840358,但它沒有回答我的所有問題.

一點背景:我正在使用Microsoft SQL Server 2014,并且我已經(jīng)驗證了IP地址127.0.0.1處于活動狀態(tài)并使用端口1433啟用.我在同一臺計算機上通過SQL Server程序連接到數(shù)據(jù)庫沒有問題,但我正在嘗試通過我正在編寫的Java程序進行連接,并且它當(dāng)前正在發(fā)出此錯誤:com.microsoft.sqlserver.jdbc.SQLServerException:端口號1433 / R2M_Database無效.我對此感到困惑,因為我知道端口1433是正確的,我知道我要連接的數(shù)據(jù)庫叫做R2M_Database.現(xiàn)在,這是我的問題以及我的源代碼.

1.)“mysql”和“sqlserver”子協(xié)議之間有什么區(qū)別,我怎么知道使用哪個? (我很確定我應(yīng)該使用sqlserver,但以防萬一)

2.)我如何確保使用正確的主機名? (我很確定127.0.0.1 / localhost是我應(yīng)該使用的那個,但是我怎樣才能從其他機器運行這個程序來訪問數(shù)據(jù)庫?)

3.)是否存在任何可能導(dǎo)致防火墻或密碼要求的外部問題? (我相當(dāng)確定用戶名和密碼是正確的,因為它們是我用來在Microsoft SQL Server 2014中成功獲得連接的用戶名和密碼)

編輯:

import java.sql.DriverManager;

import java.io.BufferedReader;

import java.io.FileReader;

import org.apache.ibatis.jdbc.ScriptRunner;

public class SQLTest {

public static void main(String[] args){

String script = "CreatePersons.sql";

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

new ScriptRunner(DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=R2M_Database", userName, password))

.runScript(new BufferedReader(new FileReader(script)));

} catch (Exception e) {

System.err.println(e);

}

}

}

我做了一個輕微的語法更改(; databaseName =而不是/),現(xiàn)在我收到此錯誤:

com.microsoft.sqlserver.jdbc.SQLServerException:用戶’RSquaredMacro’登錄失敗. ClientConnectionId:35281a40-0f87-42e4-BC46-b9a81a371529

最佳答案 > mysql是一個完全不同的數(shù)據(jù)庫服務(wù)器.不要將它用于SQL Server.

>您需要為數(shù)據(jù)庫服務(wù)器提供公共地址.只要所有客戶都可以看到它,就可以使用ip或主機名.如果你沒有,你可以嘗試使用dyndns.org或類似的東西.請注意,您的客戶仍需要能夠訪問網(wǎng)絡(luò)上的服務(wù)器(潛在的防火墻問題).在不了解您的情況的情況下很難說更多.

>防火墻可能是一個問題,但這不太可能是localhost.我猜測問題在于TCP / IP偵聽器,用戶名,密碼或數(shù)據(jù)庫名稱設(shè)置.

還有一些附注:

>您不需要包含1433端口號.

>打印整個堆棧跟蹤將幫助您進行調(diào)試.

(見下面的代碼)

>您應(yīng)該為Connection聲明一個變量并確保

它被關(guān)閉了.例:

Connection c = null;

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

c = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433/R2M_Database", userName, password);

new ScriptRunner(c).runScript(new BufferedReader(new FileReader(script)));

} catch (Exception e) {

e.printStackTrace();

} finally {

if (c != null) try { c.close(); } catch (Exception e) { }

}

總結(jié)

以上是生活随笔為你收集整理的java jdbc mysql url_java – 如何生成JDBC数据库URL?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。