无法使用react-native连接到MS-SQL

时间:2018-09-10 07:47:37

标签: sql-server typescript react-native

我使用了以下软件包 从“ react-native-mssql”导入MSSQL;

悬停在上述包附近,它显示 找不到模块“ react-native-mssql”的声明文件。 “ d:/ React Native Apps / Login / node_modules / react-native-mssql / index.android.js”隐式具有“ any”类型。   如果存在,请尝试npm install @types/react-native-mssql或添加一个包含declare module 'react-native-mssql';的新声明(.d.ts)文件 模块“ d:/ React Native Apps / Login / node_modules / react-native-mssql / index.android

我已尝试如上所述安装,但没有任何效果。

在代码中,我在下一行遇到错误。 MSSQL.connect(config);

跟随错误 undeined不是对象(评估'_reactNativeMssql2.default.connect')

请告诉我如何使用react-native连接到MSSQL。

2 个答案:

答案 0 :(得分:1)

react-native-mssql可以与npm install --save react-native-mssql一起安装

然后编辑文件android/settings.gradle并添加:

include ':react-native-mssql'
project(':react-native-mssql').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-mssql/android')

以及文件android/app/build.gradle

dependencies {
    ...
    implementation project(':react-native-mssql')
}

然后可以将其添加到软件包列表中

...
import com.stonem.mssql.MSSQLPackage;

...
@Override
protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
        ...
        .addPackage(new MSSQLPackage())
        ...
    );
}

然后连接:

import MSSQL from 'react-native-mssql';
...

let config = {
    server: '192.168.1.1', // ip address of the mssql database
    username: 'sa',        // username to login to the database
    password: 'password',  // password to login to the database
    database: 'admin',     // the name of the database to connect to
    port: 1234             // OPTIONAL, port of the database on the server
}
MSSQL.connect(config);

SELECT查询的示例:

let query = 'SELECT TOP * FROM USERS'
MSSQL.executeQuery(query);

和一个UPDATE查询:

let query = 'UPDATE USERS SET Active=0'
MSSQL.executeUpdate(query);

确保不再需要连接后,请致电MSSQL.close();

答案 1 :(得分:0)

如果使用 Project_Name ,则可以在命令提示符下使用“ 本机链接react-native-mssql ”来解决此问题。 “一直找不到模块'react-native-mssql'的声明文件