用fileDSNquote from furom.java.sun1)Create a Directory (for example C:\filedsn )2)Create 3 file dsn's( Not System or User DSN). Each one for MS-Access,Oracle, SQL Server.
Note if Don't have Oracle or SQL Server 
create 3 MS-Access files for testing purpose.3)Place all three DSN's in directory C:\filedsn
All these DSN's will be created with extension *.dsnAfter creating file DSN for Oracle it looks like this 
( Open file in Notepad)[ODBC]
DRIVER=ORACLE ODBC DRIVER
UID=SCOTT
TLO=O
PFC=10
CSR=F
MTS=F
FRL=F
RST=T
LOB=T
FDL=10
FRC=10
QTO=T
FEN=T
APA=T
DBA=W
DBQ=ORACLESID
SERVER=ORACLESID---For MS-Access database ---[ODBC]
DRIVER=Microsoft Access Driver (*.mdb)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=2048
FIL=MS Access
DriverId=25
DefaultDir=C:\FileDsn
DBQ=C:\FileDsn\xyz.mdb
4)Write a Java Program which reads all file names in the above directory 
Now you know which DSN is linked to which data source.5) Since DSN is same as file name supply DSN name to your connection stringprivate String odbcDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
private String dsnName;
private String url = "jdbc:odbc:"+dsnName;Class.forName(odbcDriver);
con = DriverManager.getConnection(url);

解决方案 »

  1.   

    请教bdsc:
    第四步如何做呢?能详细说明吗?
    第五步中dsnName是dsn的文件名吗?
      

  2.   

    请bdsc再入来一次吧。
    我在测试那个access数据库,不行,
    提示:未发现数据源名称并且未指定默认驱动程序
      

  3.   

    他这个办法不好,我给你另一个:
    odbcDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    url = "jdbc:odbc:driver={SQL server};server=localhost;UID=sa;PWD=xxx;DATABASE=test"; //你可以在程序里改Class.forName(t.odbcDriver);
    Connection con = DriverManager.getConnection(t.url);
    System.out.println(con);