小编Gor*_*son的帖子

表迁移到 SQL Server 后,Access 无法筛选 Unicode 字符

我已经使用他们的工具将 MS Access 2010 数据移动到 SQL,现在按 Unicode 过滤在 Access 链接表中不起作用。我看到 SQL 中的链接表列是“nvarchar”,但在 Access 中,“Unicode 压缩”设置为“否”,我无法更改它。

sql-server ms-access ms-access-2010

5
推荐指数
1
解决办法
1597
查看次数

JDBC驱动程序不支持批量更新并检索标识列.为什么?

我的问题是我想做JDBC批量插入和检索标识列值.MS SQL驱动程序不支持此功能.有人可以指导我,如何解决这个问题?

java sql-server jdbc

5
推荐指数
1
解决办法
1393
查看次数

无法将BOOLEAN列添加到Derby数据库中的表

我正在使用NetBeans,我正在努力为我的Derby数据库添加一个BOOLEAN列到我的表中.

无法执行命令:create table"APP".CLASS(TEST BOOLEAN)BOOLEAN不能用于版本10.6或10.6之前的任何版本.您需要将数据库升级到10.7或更高版本.

但是当我查看我的版本时,我发现我的版本是10.11.

可能是什么原因?

java sql jdbc derby

5
推荐指数
1
解决办法
1316
查看次数

"不支持整理排序顺序"错误从Java更新Access数据库

我想通过NetBeans使用UCanAccess对Access表进行一些小改动,但我遇到了问题

pst.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

数据库细节:

database name : duruBistro.accdb
table name : person
field names: tc_no    (text)
             name     (text)
             surname  (text)
             salary   (number)
Run Code Online (Sandbox Code Playgroud)

码:

Connection conn = DriverManager.getConnection("jdbc:ucanaccess://C:\\Users\\ysnndr    \\Documents\\accessDB\\duruBistro.accdb");
String query = "UPDATE PERSON SET SALARY = ? WHERE TC_NO = '189'";
PreparedStatement pst = conn.prepareStatement(query);
pst.setInt(1, 2500);         
pst.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

例外:

run:
java.lang.IllegalArgumentException: Given index Index@53f65459[
  name: (PERSON) PrimaryKey
  number: 0
  isPrimaryKey: true
  isForeignKey: false
  data: IndexData@3b088d51[
    dataNumber: 0
    pageNumber: 317
    isBackingPrimaryKey: true
    isUnique: true
    ignoreNulls: false
    columns: [
      ReadOnlyColumnDescriptor@1786dec2[
        column: TextColumn@711f39f9[
          name: …
Run Code Online (Sandbox Code Playgroud)

java ms-access jdbc ucanaccess

5
推荐指数
1
解决办法
7414
查看次数

调用executeUpdate时,UCanAccess/Jackcess异常会禁用我的Logger输出

我正在使用UCanAccess来操作Access数据库.在调用时executeUpdate我得到了异常:

net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc ::: 3.0.2意外的页面类型1(Db = db.accdb; Table = MyTable; Index = PrimaryKey)

它只在尝试更新一个特定行时发生 - 我已经知道如何在Access DB中修复此问题.

问题在于Logger,在抛出此异常后我抓住了它,我记录了一条信息消息但未显示,所有下一条日志消息也未显示.

我想在不修复数据库的情况下修复它的原因是因为当它发生一次时,用户应该关闭应用程序以便记录下一个动作,如果他没有,那么我将无法知道他做了什么.

这是我的代码:

public static void main(String args[]) {
    Logger logger = Logger.getLogger("myLogger");
    PreparedStatement pst = null;
    try {
        FileHandler fileHandler = new FileHandler("myLog.log", 0, 1, true);

        // Set formatter to put the time, the message, and the exception if exists
        fileHandler.setFormatter(new Formatter() {
            @Override
            public String format(LogRecord record) {
                Throwable t = record.getThrown();
                String stackTrace = "";
                if (t != null) …
Run Code Online (Sandbox Code Playgroud)

java ms-access logging jackcess ucanaccess

5
推荐指数
1
解决办法
542
查看次数

如何使用node-jdbc生成Id?

我正在使用node-jdbc和oracle驱动程序"ojdbc6_g.jar"连接到Oracle数据库.我想执行一些插入查询.

问题:

使用node-jdbc在oracle中插入行时如何获取生成的Id?

我试图调用,statement.getGeneratedKeys()但它在回调中返回以下错误:

> { [Error: Error running instance method java.sql.SQLException:
> operation not allowed
>         at oracle.jdbc.driver.OracleStatement.getGeneratedKeys(OracleStatement.java:8425)
>         at oracle.jdbc.driver.OracleStatementWrapper.getGeneratedKeys(OracleStatementWrapper.java:1106)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:483) ] cause: {} }
Run Code Online (Sandbox Code Playgroud)

oracle jdbc insert node.js

5
推荐指数
1
解决办法
430
查看次数

SELECT TOP 1返回多个记录

我将在下面链接我的数据库.

我有一个名为'TestMonday1'的查询,它的作用是返回最少'NoOfFrees'的学生,并将查询结果插入到课程表中.运行查询应该有助于解释我的意思.我遇到的问题是我的SQL代码有'SELECT TOP 1'但是如果查询返回两个具有相同frees数量的学生,则返回这两个记录.如果这是一个时间表计划器,它应该只返回一个结果,我也会把代码放在下面,

非常感谢

码:

INSERT INTO Lesson ( StudentID, LessonStart, LessonEnd, DayOfWeek )
SELECT TOP 1 Availability.StudentID, Availability.StartTime, 
             Availability.EndTime, Availability.DayOfWeek
FROM Availability
WHERE 
  Availability.StartTime='16:00:00' AND 
  Availability.EndTime='18:00:00' AND 
  Availability.DayOfWeek='Monday' AND 
  LessonTaken IS NULL
ORDER BY 
  Availability.NoOfFrees;
Run Code Online (Sandbox Code Playgroud)

sql ms-access-2010

5
推荐指数
1
解决办法
2393
查看次数

Pyodbc 返回(十进制('100.00'),)

我正在使用 pyodbc 从表中读取数值,但它不只是给我“100”,而是给我“(Decimal('100.00'),)”。

有没有办法只获取数字?

我在跑:

cursor.execute("SELECT CurrentBalance as Numeric FROM [AccountsQA].[dbo].[AccountBalance] where AccountId = '2000013' and Currency = 'ZAR'")
Run Code Online (Sandbox Code Playgroud)

如果这个问题已经得到解答,我深表歉意,但我无法找到如何解决这个问题。

python sql-server odbc pyodbc

5
推荐指数
1
解决办法
9406
查看次数

从SQL Server存储过程中获取输出参数和ResultSet值

我试图获取输出参数以传递到另一个SP中,所以我也创建了一个测试,看看是否可以从中获取字符串,但会引发异常:

java.sql.SQLException:无效状态,ResultSet对象已关闭

如果没有cs.getMoreResults();另一个异常,则抛出:

java.sql.SQLException:输出参数尚未处理。调用getMoreResults()。

如果我确实删除了我的 if (rs.next()) {作品,那么它将起作用。如何获取输出参数并仍然使用我的if rs.next

   protected String doInBackground(String... params) {
        if (userid.trim().equals("Developer")|| password.trim().equals("Dev!n_234"))
            isSuccess2=true;
        z = getString(R.string.login_succes);
        if(userid.trim().equals("")|| password.trim().equals(""))
            z = getString(R.string.indsæt_rigtigt_bruger);
        else {
            try {
                Connection con = connectionClass.CONN();
                if (con == null) {
                    z = getString(R.string.Forbindelses_fejl) + "L1)";

                } else {
                    String ID;
                    ID = setingPreferences.getString("companyid", "");
                    CallableStatement cs = null;
                    String query = "{ call [system].[usp_validateUserLogin](?,?,?,?,?)}  ";
                    cs = con.prepareCall(query);
                    cs.setString(1, userid);
                    cs.setString(2, password);
                    cs.setString(3, ID);
                    cs.setBoolean(4, true); …
Run Code Online (Sandbox Code Playgroud)

java sql-server jdbc

5
推荐指数
1
解决办法
4776
查看次数

SQL Server Nvarchar和Java预准备语句

我对向SQL Server 2008 R2插入字符串有疑问。当我尝试插入带有一些国家字母的字符串时,会收到“?” 代替。

我知道N在字符串文字的开头添加将解决此问题,但是我正在使用JDBC准备的语句,如下所示:

INSERT INTO MyTable(col1, col2) VALUES (?,?);
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何添加此“ N”字母?我应该做这样的事情吗?

INSERT INTO MyTable(col1, col2) VALUES (N?,N?);
Run Code Online (Sandbox Code Playgroud)

老实说,我不相信,因为这根本行不通。

java sql sql-server jdbc sql-server-2008

4
推荐指数
1
解决办法
3063
查看次数