使用jdbc将dbslim连接到SQL Server 2014

时间:2015-12-08 10:22:30

标签: fitnesse fitnesse-slim

我使用dbslim(Selenium)Fitnesse:https://github.com/markfink/dbslim

我想连接到SQL Server 2014。

我的jdbc行应如何格式化?

不是这样的:

| script | Db Slim Setup |!-oracle.jdbc.driver.OracleDriver-!| jdbc:oracle:thin:@host_name:1521:database_name | username | password |

但是怎么回事?

P.S。该文件名为DbSlimSetup.java

DbSlimSetup顺便说一下:

/*******************************************************************************
* The MIT License
* 
* Copyright (c) 2010, Mark S.
* 
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
* 
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
* 
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
******************************************************************************/
package slim;

import services.DbConnectionFactory;

public class DbSlimSetup {

    public static String DEFAULT_CONNECTION_POOL_NAME = "default";
    public static int DEFAULT_CONNECTION_POOL_MIN_IDLE = 1;
    public static int DEFAULT_CONNECTION_POOL_MAX_AXTIVE = 5;
    public static int DEFAULT_WAIT_TIMEOUT = 45000;


    public DbSlimSetup(
        String jdbcDriverClass,
        String connectURI, String username, String password) throws Exception {

    DbConnectionFactory.getDataSource(
            DEFAULT_CONNECTION_POOL_NAME,
            jdbcDriverClass,
            connectURI, username, password,
            DEFAULT_CONNECTION_POOL_MIN_IDLE, DEFAULT_CONNECTION_POOL_MAX_AXTIVE);
}

public DbSlimSetup(
        String jdbcDriverClass,
        String connectURI, String username, String password,
        int minIdle, int maxActive) throws Exception{

    DbConnectionFactory.getDataSource(
            DEFAULT_CONNECTION_POOL_NAME,
            jdbcDriverClass,
            connectURI, username, password,
            minIdle, maxActive);

}

public DbSlimSetup(
        String jdbcDriverClass,
        String connectionPoolName,
        String connectURI, String username, String password,
        int minIdle, int maxActive) throws Exception {

    DbConnectionFactory.getDataSource(
            connectionPoolName,
            jdbcDriverClass,
            connectURI, username, password,
            minIdle, maxActive);
}
}

那么怎么能用'Db Slim Setup'调用有空格,我不明白那部分。有人可以解释一下吗?

请帮助我对此不熟悉。

3 个答案:

答案 0 :(得分:1)

试试这个

!path C:\Xebium\target\classes

|import|
|slim|

!define host_name {########}

| script | Db Slim Setup |!-oracle.jdbc.driver.OracleDriver-!| jdbc:oracle:thin:${host_name}:1521:database_name | username | password |

请注意,您不能在场景中使用它(如果这是您尝试使用'@'执行的操作),因为这是调用fixture类的构造函数,并且应该是一个孤立的表。

答案 1 :(得分:0)

对不起,伙计们,这次你的帮助到目前为止还没有用。

正确的答案应该是:

a)首先你必须正确构建。 所以下载dbslim将c3p0-0.9.12.jar复制到目录c:\ Xebium \ src \ main \ java \ slim

b)然后当它构建类文件时,您已准备好继续前进。

c)现在使用路径!命令添加目标目录(那部分你在哪里) 这样:

!路径C:\ Xebium \ target \ classes \ services

!路径C:\ Xebium \ target \ classes \ slim

之后,无法调用的消息消失了!!! YEAY ...

但现在我有另一个问题:(这是:

EXCEPTION :java.lang.NoClassDefFoundError:DbSlimSetup(错误名称:slim / DbSlimSetup)     at java.lang.ClassLoader.defineClass1(Native Method)[rt.jar:1.8.0_51]     at java.lang.ClassLoader.defineClass(ClassLoader.java:760)[rt.jar:1.8.0_51]     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)[rt.jar:1.8.0_51]     at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)[rt.jar:1.8.0_51]     at java.net.URLClassLoader.access $ 100(URLClassLoader.java:73)[rt.jar:1.8.0_51]     在java.net.URLClassLoader $ 1.run(URLClassLoader.java:368)[rt.jar:1.8.0_51]     在java.net.URLClassLoader $ 1.run(URLClassLoader.java:362)[rt.jar:1.8.0_51]     at java.security.AccessController.doPrivileged(Native Method)[rt.jar:1.8.0_51]     at java.net.URLClassLoader.findClass(URLClassLoader.java:361)[rt.jar:1.8.0_51]     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)[rt.jar:1.8.0_51]     at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:331)[rt.jar:1.8.0_51]     在java.lang.ClassLoader.loadClass(ClassLoader.java:357)[rt.jar:1.8.0_51]     at java.lang.Class.forName0(Native Method)[rt.jar:1.8.0_51]     at java.lang.Class.forName(Class.java:264)[rt.jar:1.8.0_51]     at fitnesse.slim.fixtureInteraction.DefaultInteraction.getClass(DefaultInteraction.java:57)[fitnesse-20150814.jar]     at fitnesse.slim.fixtureInteraction.DefaultInteraction.searchPathsForClass(DefaultInteraction.java:40)[fitnesse-20150814.jar]     at fitnesse.slim.fixtureInteraction.DefaultInteraction.createInstance(DefaultInteraction.java:20)[fitnesse-20150814.jar]     at fitnesse.slim.SlimExecutionContext.create(SlimExecutionContext.java:48)[fitnesse-20150814.jar]     at fitnesse.slim.StatementExecutor.create(StatementExecutor.java:80)[fitnesse-20150814.jar]     at fitnesse.slim.instructions.MakeInstruction.executeInternal(MakeInstruction.java:26)[fitnesse-20150814.jar]     at fitnesse.slim.instructions.Instruction.execute(Instruction.java:29)[fitnesse-20150814.jar]     at fitnesse.slim.ListExecutor $ Executive.executeStatement(ListExecutor.java:49)[fitnesse-20150814.jar]     at fitnesse.slim.ListExecutor $ Executive.executeStatements(ListExecutor.java:43)[fitnesse-20150814.jar]     at fitnesse.slim.ListExecutor.execute(ListExecutor.java:83)[fitnesse-20150814.jar]     at fitnesse.slim.SlimServer.executeInstructions(SlimServer.java:87)[fitnesse-20150814.jar]     at fitnesse.slim.SlimServer.processOneSetOfInstructions(SlimServer.java:80)[fitnesse-20150814.jar]     at fitnesse.slim.SlimServer.tryProcessInstructions(SlimServer.java:58)[fitnesse-20150814.jar]     at fitnesse.slim.SlimServer.serve(SlimServer.java:43)[fitnesse-20150814.jar]     at fitnesse.slim.SlimService.handle(SlimService.java:186)[fitnesse-20150814.jar]     at fitnesse.slim.SlimService.acceptOne(SlimService.java:194)[fitnesse-20150814.jar]     at fitnesse.slim.SlimService.accept(SlimService.java:156)[fitnesse-20150814.jar]     at fitnesse.slim.SlimService.startWithFactory(SlimService.java:77)[fitnesse-20150814.jar]     at fitnesse.slim.SlimService.main(SlimService.java:57)[fitnesse-20150814.jar]

答案 2 :(得分:0)

<强>溶液: 使用Fitnesse通过DbSlim连接到sql数据库的示例是:

|脚本| !-Db Slim Setup-! |!-com.mysql.jdbc.Driver-!| jdbc:mysql://172.55.55.55:3306 / AdventureWorks2012 | testlab | secretpassword |