jdbc-odbc 桥!
先建ODBC DSN!//文件名: MyJDBC.java
//import java.sql.*;
//package com.borland.datastore;
//package com.borland.datastore.jdbc;
//import com.borland.datastore.*;
public class MyJDBC
{
public static void main(String[] args) throws java.sql.SQLException
{
try
{
java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (java.lang.ClassNotFoundException e1)
{
System.err.print("ClassNotFoundException: ");
System.err.println(e1.getMessage());
}
int i=0;
String catalogX;
String schemaPatternX;
String tableNamePatternX;
String[] typesX = {"Table"};
try
{
java.sql.Connection ConnectionX = java.sql.DriverManager.getConnection("jdbc:ODBC:DSNNorthwind","sa", "");
java.sql.DatabaseMetaData DatabaseMetaDataX =ConnectionX.getMetaData();
java.sql.ResultSet ResultSetX;
ResultSetX = DatabaseMetaDataX.getTables("","","",typesX);
while (ResultSetX.next())
{
System.out.println("(" + (++i) + "). " + ResultSetX.getString("TABLE_NAME"));
}
java.sql.Statement StatementX = ConnectionX.createStatement();
ResultSetX = StatementX.executeQuery("select * from products");
java.sql.ResultSetMetaData ResultSetMetaDataX = ResultSetX.getMetaData();
System.out.println(ResultSetMetaDataX.getColumnCount());
String s="";
for (i=0; i< ResultSetMetaDataX.getColumnCount();i++ )
{
s = s + "[" + ResultSetMetaDataX.getColumnName(i+1) +"](" + ResultSetMetaDataX.getColumnTypeName(i+1) + " : " + ResultSetMetaDataX.getColumnType(i+1) + ")";
if (i< ResultSetMetaDataX.getColumnCount()-1)
{
s=s+",";
}
};
System.out.println (s + '\n');
while (ResultSetX.next())
{
s="";
for (i=0; i< ResultSetMetaDataX.getColumnCount();i++ )
{
switch (ResultSetMetaDataX.getColumnType(i+1))
{
case 4:
s = s + ResultSetX.getInt(i+1);
break;
default:
s = s + ResultSetX.getString(i+1);
break;
case 5:
s = s + ResultSetX.getDouble(i+1);
break;
case -7:
s = s + ResultSetX.getBoolean(i+1);
break;
}
if (i< ResultSetMetaDataX.getColumnCount()-1)
s=s+",";
};
System.out.println (s );
}
}
catch (java.sql.BatchUpdateException e2)
{}
}
}
先建ODBC DSN!//文件名: MyJDBC.java
//import java.sql.*;
//package com.borland.datastore;
//package com.borland.datastore.jdbc;
//import com.borland.datastore.*;
public class MyJDBC
{
public static void main(String[] args) throws java.sql.SQLException
{
try
{
java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (java.lang.ClassNotFoundException e1)
{
System.err.print("ClassNotFoundException: ");
System.err.println(e1.getMessage());
}
int i=0;
String catalogX;
String schemaPatternX;
String tableNamePatternX;
String[] typesX = {"Table"};
try
{
java.sql.Connection ConnectionX = java.sql.DriverManager.getConnection("jdbc:ODBC:DSNNorthwind","sa", "");
java.sql.DatabaseMetaData DatabaseMetaDataX =ConnectionX.getMetaData();
java.sql.ResultSet ResultSetX;
ResultSetX = DatabaseMetaDataX.getTables("","","",typesX);
while (ResultSetX.next())
{
System.out.println("(" + (++i) + "). " + ResultSetX.getString("TABLE_NAME"));
}
java.sql.Statement StatementX = ConnectionX.createStatement();
ResultSetX = StatementX.executeQuery("select * from products");
java.sql.ResultSetMetaData ResultSetMetaDataX = ResultSetX.getMetaData();
System.out.println(ResultSetMetaDataX.getColumnCount());
String s="";
for (i=0; i< ResultSetMetaDataX.getColumnCount();i++ )
{
s = s + "[" + ResultSetMetaDataX.getColumnName(i+1) +"](" + ResultSetMetaDataX.getColumnTypeName(i+1) + " : " + ResultSetMetaDataX.getColumnType(i+1) + ")";
if (i< ResultSetMetaDataX.getColumnCount()-1)
{
s=s+",";
}
};
System.out.println (s + '\n');
while (ResultSetX.next())
{
s="";
for (i=0; i< ResultSetMetaDataX.getColumnCount();i++ )
{
switch (ResultSetMetaDataX.getColumnType(i+1))
{
case 4:
s = s + ResultSetX.getInt(i+1);
break;
default:
s = s + ResultSetX.getString(i+1);
break;
case 5:
s = s + ResultSetX.getDouble(i+1);
break;
case -7:
s = s + ResultSetX.getBoolean(i+1);
break;
}
if (i< ResultSetMetaDataX.getColumnCount()-1)
s=s+",";
};
System.out.println (s );
}
}
catch (java.sql.BatchUpdateException e2)
{}
}
}
解决方案 »
- 如何判断一个日期是不是周六和周日呢?
- 关于SQL2000数据库差异备份问题
- sql servers 大小与什么有关?
- 求触发器(立即结贴)
- MYSQL的 my.ini 配置文件---你说他贱不贱!!!
- 根据时间字段的值自动执行某个操作
- 诚心请教: Sql2005缓存依赖项 更新无效的问题 三天了 败给它了!
- 求SQL语句,看来必须把问题放到疑难版中了,高手是不是都在此版?
- 关于SQL2000实例名的问题??
- 急急急!在 SQL Server6.5 ,用大写字母建立的表,要求不能用小写字母读写,如何设置?
- 求救!!如何通过SQL语句,将字段中的自动增量属性去除!!100分
- 在存储过程中怎么用传入数组?
jdk 配置就不用我说了吧?!
用专用的jdbc driver 也可!http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp