尝试使用odbc连接创建与mySQL数据库的连接

时间:2012-02-10 14:26:55

标签: mysql coldfusion odbc

我在旧的MSSQL 2000 db中有一些数据。我试图将几个表从它移动到mySQL(V 5.025)db。在过去,我使用以下代码片段从MSSQL数据库创建了一个平面csv文件并导入到mySQL数据库中的空desination表中:

LOAD DATA INFILE '/moodle/sourcefile.csv' INTO TABLE tablename
           FIELDS TERMINATED BY ','

我想从源代码中直接进行编程选择,插入到目标进程中。我正在使用Coldfusion(MX)从MSSQL表中读取,这样可以从源数据库中获取数据。

我使用此代码创建了一个连接对象:

classLoader = createObject("java", "java.lang.Class");
classLoader.forName("sun.jdbc.odbc.JdbcOdbcDriver");
dm = createObject("java","java.sql.DriverManager");

我可以转储dm对象及其罚款,随时可以使用。

我正在尝试创建一个到mySQL表的odbc连接,如下所示:这是失败的代码。

con = dm.getConnection("jdbc:odbc:DRIVER={MySQL ODBC 3.51 Driver}; SERVER=ipaddress; PORT=3306; DATABASE='dbname'; USER='username'; PASSWORD='password'; OPTION=3;");

它产生的错误是

“[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序”

有关如何纠正此错误(使连接工作)的任何想法或有关如何移动此数据的不同观点,我们表示赞赏。

2 个答案:

答案 0 :(得分:1)

您必须安装桥接器才能执行此操作。在Windows上,它是2个独立的服务,名为ColdFusion ODBC Server和ColdFusion ODBC Agent。

此外,您可能遇到64位与32位的问题。您可能需要使用不同的odbc服务器命令行开关安装sys dsn(检查WOW64文件夹)。查看这篇文章,了解与Access相关的一些解决方法(也通过ODBC桥接)。

http://www.coldfusionmuse.com/index.cfm/2010/12/31/Access.on.64bit.ColdFusion

此外 - 您应该知道即使在较旧的CF版本上也可以使用最新的驱动程序进行设置。您必须将驱动程序文件放入类路径,然后使用“其他”JDBC类型。它需要创建一个JDBC连接字符串等 - 但可能比试图管理ODBC子系统更容易或更容易。祝你好运:)

答案 1 :(得分:0)

确保已安装ODBC Connector。另请查看此处的Documentation以获取用法示例。