我在旧的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驱动程序管理器]未找到数据源名称且未指定默认驱动程序”
有关如何纠正此错误(使连接工作)的任何想法或有关如何移动此数据的不同观点,我们表示赞赏。
答案 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以获取用法示例。