有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的ODBC连接设置

我想编写一个Java程序,自动完成ODBC数据源管理员在Windows中所做的工作

也就是说,给定ODBC连接名和硬盘上数据库的路径,我希望它创建连接

我真的不知道从哪里开始。我看了this但它说这是为了C,我认为这不是很有帮助。如果有人能为我指出正确的方向,我将不胜感激

(我意识到这个问题非常模糊,但我只得到了这些信息。)


共 (6) 个答案

  1. # 1 楼答案

    这个问题的答案是,您不需要注册DSN

    下面是一个使用系统ODBC驱动程序从Java使用ODBC连接(而不是JDBC)的示例。您可以选择使用未注册的DSN,而不是编辑注册表来创建已注册的DSN,如下所示:

    Driver=sun.jdbc.odbc.JdbcOdbcDriver
    Source=jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/Dir/DB/MyDB.mdb;
    

    或者,使用SQL Server:

    Driver=sun.jdbc.odbc.JdbcOdbcDriver
    Source=jdbc:odbc:Driver={SQL Server};SERVER=127.1;DATABASE=MyDB;UID=sa;PWD=mypass
    
  2. # 2 楼答案

    我以前从未连接过MS SQL Server。我一直使用DB2或Derby、MYSQL,在创建连接时,一切都是一样的。这就是我必须为SQL Server做的事情

    private final String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    
    Class.forName(driver);
    
    url="jdbc:odbc:;DRIVER={SQL Server};SERVER="+server+","+port+";DATABASE="+dbName;
    connection = DriverManager.getConnection(url,user,password);
    
  3. # 3 楼答案

    String driver ="sun.jdbc.odbc.JdbcOdbcDriver"
    String url = "jdbc:odbc:Driver={Microsoft Access Text Driver (*.txt, *.csv)};DBQ=C:/CSVFolder
    
    query = select * from myfile.csv 
    
  4. # 4 楼答案

    所有的ODBC配置都在Windows注册表中,或者Linux中的odbc.ini(我没有在其他平台上使用ODBC)。首先,您必须使用ODBC管理器创建这样的配置,然后检查配置中保存的内容,并编写执行相同操作的程序。如果使用Windows 32位,请在HKEY_LOCAL_MACHINE\SOFTWARE\ODBC处检查注册表。 Windows 64位应用程序对于32位应用程序和64位应用程序有不同的配置(只需在注册表中查找odbc.ini字符串即可)

    我认为Java不是在Windows注册表中更改某些内容的最佳语言,但使用Java,您可以创建.reg文本文件,该文件可以通过regedit.exe导入,或者您可以使用其他语言,比如带有win32扩展名的Python(活动Python默认有)

  5. # 5 楼答案

    看看这个。。 Java数据库连接(JDBC)支持基于ODBC的数据库,并提供独立的数据库

     Connection connection = null;
         try {
            DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
            connection = DriverManager.getConnection("connection string", "userName", "password" );
        } catch (SQLException e) {
    
    
        }   
    
         return connection;
    
  6. # 6 楼答案

    你需要研究一下如何使用JDBC