Java軟件報表軟件技術博客

          java報表軟件技術匯總 java報表軟件制作 報表軟件新聞
          posts - 355, comments - 100, trackbacks - 0, articles - 3
             :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理
          1. Sqlserver2000 數據庫本身規定了其數據庫連接URL 的一般格式,如下:

          jdbc:sqlserver://[serverName["instanceName][:portNumber]][;property=value[;property=value]] 之間無空格,其中:

          · jdbc:sqlserver://(必需)稱為子協議,且為常數。
          · serverName(可選)是要連接到的服務器的地址。它可以是 DNS 或 IP 地址,也可以是本地計算機地址 localhost 或 127.0.0.1。如果未在連接 URL 中指定服務器名稱,則必須在屬性集中指定。
          · instanceName(可選)是 serverName 上要連接到的實例。如果未指定,則會連接到默認實例(master)。
          · portNumber(可選)是 serverName 上要連接到的端口。默認值為 1433。如果使用默認端口,則無需在 URL 中指定端口及其前面的“:”。
          · property(可選)是一個或多個選項連接屬性。有關詳細信息,請參閱設置連接屬性。可指定該列表中的任何屬性。屬性只能用分號(“;”)分隔,且不允許重復。 

          2. 連接實例寫法有:

          A. 使用用戶名和密碼連接到本地計算機上的默認數據庫: jdbc:sqlserver://localhost;user=MyUserName;password=*****;
          B. 使用集成身份驗證連接到本地計算機上的默認數據庫: jdbc:sqlserver://localhost;integratedSecurity=true;
          C. 連接到遠程服務器上的指定數據庫: jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;
          D. 連接到遠程服務器上的默認端口: jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks;integratedSecurity=true;
          E. 通過指定自定義應用程序名稱進行連接: jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;applicationName=MyApp;

          3 .以我們設計器中的URL寫法為例詳細說明: jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test 其中

          (1). databaseName=test 為連接屬性,屬性值只用“;”分割,我們只用了一個,如有多個屬性便可寫成:
          ;databaseName=test;user=MyUserName;password=*****;

          因此在test后加不加“;” 連接效果一樣,即URL寫成
          jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test 或jdbc:microsoft:sqlserver://192.168.100.112:1433;databaseName=test;
          都能正確讀取test數據庫

          (2). Sql server 2000 數據庫默認的端口為1433,默認的數據庫實master(應該是安裝時自帶的數據庫)

          當URL中databaseName 前誤加了一“_”空格后,如下:

          jdbc:microsoft:sqlserver://192.168.100.112:1433; databaseName=test

          此時獲取URL時自動判斷空格時URL結束,即獲得的實際URL為:

          jdbc:microsoft:sqlserver://192.168.100.112:1433;

          而此URL連接的為sql server 2000 默認的數據庫 master, 所以讀取的就是數據庫master中的表。

          結論:

          在寫sql server 2000的數據庫URL時,除其本身已有的特殊字符外,要添加其他特殊字符必須進行轉義,將這些字符包含在大括號中, JDBC 驅動程序將支持對其進行轉義。例如,{;} 將轉義分號。

          轉義的值可以包含特殊字符(特別是“=”、“;”、“[]”和空格),但不能包含大括號。應將必須進行轉義且包含大括號的值添加到屬性集中。

          方案:

          將我們所用的數據庫改變為默認數據庫是一種方法,但一般存在多個可用的數據庫,所以除sqlserver 本身規定的URL格式外,在我們的程序中最好進行限制,只使用 jdbc:microsoft:sqlserver://ip:port;databaseName=Databasename 一種寫法,且中間不能有空格等。

          主站蜘蛛池模板: 崇明县| 三亚市| 庄浪县| 闻喜县| 札达县| 临猗县| 淅川县| 哈密市| 安平县| 凤阳县| 揭西县| 蓬安县| 桃江县| 进贤县| 浦东新区| 唐海县| 盐津县| 太谷县| 麻阳| 扶绥县| 仁化县| 伊金霍洛旗| 宿州市| 维西| 洪雅县| 曲阳县| 阳新县| 乌鲁木齐县| 荥经县| 嘉峪关市| 黄山市| 化隆| 通辽市| 高碑店市| 陆丰市| 康乐县| 福安市| 佳木斯市| 夏邑县| 湖口县| 遂川县|