bestlong 怕失憶筆記

當健忘由隨機逐漸趨向常態時,作筆記是非常必要的

Entries for the ‘Database’ Category

使用 jTDS 連接 MSSQL

在 iReport 中連接 MS SQL Server 資料庫可以使用 jTDS
而 jTDS-1.2.2 的預設屬性是支援 8.0 也就是一般稱為 2000 的 SQL Server
一般會設定 JDBC URL 如下

jdbc:jtds:sqlserver://ServerAddress/DBName;instance=

當需要連接 7.0 或是 6.5 等先前版本的 SQL Server 時就會出現下列錯誤訊息

1
2
3
4
5
6
7
Message:
    java.sql.SQLException: I/O Error: Stream 0 attempting to read when no request has been sent
Level:
    SEVERE
Stack Trace:
    net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2307)
...之後省略

這時只要在 JDBC URL 中增加屬性調整 TDS

連接 SQL 7.0

jdbc:jtds:sqlserver://ServerAddress/DBName;instance=;TDS=5.0

連接 SQL 6.5

jdbc:jtds:sqlserver://ServerAddress/DBName;instance=;TDS=4.2

但基本上只有連線到 SQL 6.5 才需要指定,若是連接到 SQL 7.0 時 jTDS 會自動偵測調整。

詳細資料可以參考 jTDS 官方FAQ文件 http://jtds.sourceforge.net/faq.html

Comments (2)

提升MySQL安全性限制只接受localhost連線

在預設的情況下MySQL是接受所有IP來源的連線,與帳號權限無關。
我們可以用 netstat -na 來檢查

1
2
[root@www ~]# netstat -an | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

其中的 0.0.0.0:3306 就是監聽從所有 IP 來源對 3306 port 的連線。若是只有本機的程式在存取MySQL可以透過修改設定來強制只監聽 loopback 介面。

首先,編輯 /etc/my.cnf 檔,在 mysqld 區增加設定如下:

1
2
[mysqld]
bind-address=127.0.0.1

然後重新啟動 MySQL 服務,再次用 netstat 檢查

1
2
[root@www ~]# netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN

這樣就只聽取 127.0.0.1 的連線了,進一步提升MySQL的安全性,不過還是要記的檢查一下所有使用MySQL database的程式是否正常作業。

Comments (1)

讓Python連接PostgreSQL資料庫

使用 PyGreSQL – Python interface for PostgreSQL 來處理,可以到 PostgreSQL 官方網站下載。

操作環境如下
作業系統:Windows XP Professional
Python版本:2.5.1 for win
PostgreSQL版本:8.2.5 for win
PyGreSQL版本:PyGreSQL-3.8.1.win32-py2.5.exe

取得PyGreSQL時要注意與Python的版本對應

假設有個資料庫名為 db1 而其中有個資料表名為 table1 我們可以寫如下列簡易程式

1
2
3
4
5
6
7
8
# -*- coding: utf-8 -*-
import pg
conn = pg.connect('db1','localhost',5432,None,None,'username','password')
ds = conn.query("select * from table1")
if len(ds.getresult()) > 0:
        print ds
print "Press enter to continue."
raw_input()

這樣就會列出 table1 中的所有資料

Leave a Comment

WWW SQL Designer

線上設計 SQL 關聯圖的工具,可以幫助產生 MSSQL、MySQL、PostgreSQL 的 CREATE TABLE 指令。

www.sql.designer

網站 http://ondras.zarovi.cz/sql/

Leave a Comment

改變 Oracle 10g XE 資料庫網頁管理介面的 Port

安裝 Oracle 10g XE 後的會提供一個網頁管理介面,而通訊埠預設使用 Port 8080,也剛好是 Tomcat 的預設 Port。所以需要決定是哪一個需要改變,若是想調整 Oracle 10g XE 的話,我們以 Windows 環境下要修改成 Port 8888 為例子,可以使用下列方式:

執行 sqlplus.exe /nolog 進入 SQL*Plus 環境

SQL > connect system as SYSDBA
輸入密碼:
已連線.
SQL > exec dbms_xdb.sethttpport(8888)
已順利完成 PL/SQL 程序.
SQL > exit

這樣就完成設定的調整,接著在去修改功能表的捷徑設定請到下列目錄中

C:\oraclexe\app\oracle\product\10.2.0\server\

可以找到 Database_homepage 與 Online_help 兩個捷徑檔,請滑鼠右鍵內容修改 URL 的連接埠到 8888 後就算是完成全部的調整作業。

Leave a Comment

  • 工商服務

    廣告讀取中...
  • 近期留言

  • 標籤

  • 彙整